最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android 單雙擊實現的方法步驟

 更新時間:2020年01月12日 09:31:19   作者:幾圈年輪  
這篇文章主要介紹了Android 單雙擊實現的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

記錄單擊、雙擊實現過程,進行簡單的封裝,便于復用,包括常用的軟件雙擊退出。

雙擊實現:記錄第一次點擊時間,在設定時間內再次點擊,則返回監(jiān)聽事件,否則不做處理;Application雙擊退出亦是同樣的實現邏輯。

/**
 * 雙擊實現
 *
 * @author 幾圈年輪
 */
public abstract class BaseDoubleClickListener implements View.OnClickListener {

  private static final long DOUBLE_TIME = 500;
  private static long lastClickTime = 0;

  @Override
  public void onClick(View v) {
    long currentTimeMillis = System.currentTimeMillis();
    if (currentTimeMillis - lastClickTime < DOUBLE_TIME) {
      onDoubleClick(v);
    }
    lastClickTime = currentTimeMillis;
  }

  /**
   * 雙擊事件
   *
   * @param v 視圖
   */
  public abstract void onDoubleClick(View v);

}

調用方式:

view.setOnClickListener(new BaseDoubleClickListener() {
  @Override
  public void onDoubleClick(View v) {
    
  }
});

Application雙擊退出:

private long onBackPressedTime;
@Override
public void onBackPressed() {
  long timeSpan = System.currentTimeMillis() - onBackPressedTime;
  onBackPressedTime = System.currentTimeMillis();
  if (timeSpan > 2000) {
    Toast.makeText(this, getResources().getString(R.string.exit), Toast.LENGTH_SHORT).show();
  } else {
    super.onBackPressed();
  }
}

單擊及雙擊實現:使用Handler進行延時消息發(fā)送,通過計數獲取點擊次數,若設定時間內點擊兩次則返回雙擊事件;單次,則返回單擊事件。

/**
 * 單擊、雙擊實現
 *
 * @author 幾圈年輪
 */

public abstract class BaseClickListener implements View.OnClickListener {

  private static final int TIMEOUT = 400;

  private int clickCount = 0;
  private Handler handler;

  protected BaseClickListener() {
    handler = new Handler();
  }

  @Override
  public void onClick(View v) {
    clickCount++;
    handler.postDelayed(new Runnable() {
      @Override
      public void run() {
        if (clickCount == 1) {
          onSingleClick(v);
        } else if (clickCount == 2) {
          onDoubleClick(v);
        }
        handler.removeCallbacksAndMessages(null);
        clickCount = 0;
      }
    }, TIMEOUT);
  }

  /**
   * 單擊實現
   *
   * @param v 視圖
   */
  public abstract void onSingleClick(View v);

  /**
   * 雙擊實現
   *
   * @param v 視圖
   */
  public abstract void onDoubleClick(View v);

}

調用方式:

view.setOnClickListener(new BaseClickListener() {
  
  @Override
  public void onSingleClick(View v) {

  }

  @Override
  public void onDoubleClick(View v) {
   
  }
});

主要重寫了View的OnClickListener事件,也可以重寫OnTouchListener進行處理;采用抽象類抽象方法,也可使用接口封裝進行處理。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Android仿微信拍攝短視頻

    Android仿微信拍攝短視頻

    本文主要對Android仿微信拍攝短視頻的實現方法進行介紹,其功能設置為類似于微信,點擊開始拍攝,設置最長拍攝時間。具有很好的參考價值,需要的朋友一起來看下吧
    2016-12-12
  • Android獲取apk程序簽名信息代碼示例

    Android獲取apk程序簽名信息代碼示例

    這篇文章主要介紹了Android獲取apk程序簽名信息的方法,大家參考使用吧
    2013-11-11
  • Android編程實現等比例顯示圖片的方法

    Android編程實現等比例顯示圖片的方法

    這篇文章主要介紹了Android編程實現等比例顯示圖片的方法,實例分析了Android等比例縮放圖片的具體步驟與相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11
  • Android之ImageSwitcher的實例詳解

    Android之ImageSwitcher的實例詳解

    這篇文章主要介紹了Android之ImageSwitcher的實例詳解的相關資料,這里提供實例幫助大家理解這個控件的功能,希望能幫助到大家,需要的朋友可以參考下
    2017-08-08
  • 輕松實現Rxjava定時器功能

    輕松實現Rxjava定時器功能

    這篇文章主要為大家詳細介紹了Rxjava實現定時器功能的兩種方式,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Android系統(tǒng)開發(fā)中l(wèi)og的使用方法及簡單的原理

    Android系統(tǒng)開發(fā)中l(wèi)og的使用方法及簡單的原理

    LOG是廣泛使用的用來記錄程序執(zhí)行過程的機制,它既可以用于程序調試,也可以用于產品運營中的事件記錄;在平時開發(fā)過程中經常需要與log打交道,所以很有必要了解log的使用方法及簡單的原理,感興趣的朋友可以了解下啊
    2013-01-01
  • Android ListView滑動改變標題欄背景漸變效果

    Android ListView滑動改變標題欄背景漸變效果

    這篇文章主要為大家詳細介紹了Android ListView滑動改變標題欄背景漸變效果,透明轉變成不透明,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • android 仿微信demo——登錄功能實現(移動端)

    android 仿微信demo——登錄功能實現(移動端)

    本篇文章主要介紹了微信小程序-閱讀小程序實例(demo),小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望能給你們提供幫助
    2021-06-06
  • Android Studio手動配置Gradle的方法

    Android Studio手動配置Gradle的方法

    Gradle:Gradle是一個基于Apache Ant和Apache Maven概念的項目自動化建構工具。它使用一種基于Groovy的特定領域語言(DSL)來聲明項目設置,拋棄了基于XML的各種繁瑣配置,本文給大家介紹Android Studio手動配置Gradle的方法,一起看看吧
    2017-11-11
  • Android使用Room操作數據庫流程詳解

    Android使用Room操作數據庫流程詳解

    谷歌推薦使用Room操作數據庫,Room在 SQLite 上提供了一個抽象層,在充分利用 SQLite強大功能的同時,能夠流暢地訪問數據庫
    2022-11-11

最新評論

余干县| 太保市| 祁阳县| 肥东县| 平阳县| 柯坪县| 彭州市| 邵东县| 修水县| 岳西县| 威信县| 那曲县| 郎溪县| 山东省| 合江县| 读书| 阳谷县| 九江县| 浦东新区| 肥东县| 河东区| 东乌珠穆沁旗| 边坝县| 建平县| 聂拉木县| 吉安市| 绥阳县| 沈丘县| 禄丰县| 北辰区| 利津县| 五莲县| 武鸣县| 利辛县| 嘉黎县| 泸州市| 汕尾市| 南京市| 洞头县| 白沙| 方城县|