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

Android 單雙擊實現(xiàn)的方法步驟

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

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

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

/**
 * 雙擊實現(xiàn)
 *
 * @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);

}

調(diào)用方式:

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();
  }
}

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

/**
 * 單擊、雙擊實現(xiàn)
 *
 * @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);
  }

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

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

}

調(diào)用方式:

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

  }

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

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

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

相關(guān)文章

  • Android仿微信拍攝短視頻

    Android仿微信拍攝短視頻

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

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

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

    Android編程實現(xiàn)等比例顯示圖片的方法

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

    Android之ImageSwitcher的實例詳解

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

    輕松實現(xiàn)Rxjava定時器功能

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

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

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

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

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

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

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

    Android Studio手動配置Gradle的方法

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

    Android使用Room操作數(shù)據(jù)庫流程詳解

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

最新評論

庄河市| 富顺县| 昆明市| 合作市| 灯塔市| 济阳县| 普陀区| 容城县| 潍坊市| 土默特右旗| 杭州市| 万山特区| 承德县| 祁连县| 光泽县| 保亭| 麻江县| 都安| 鹰潭市| 肇庆市| 垫江县| 鄂托克旗| 和龙市| 浦北县| 郑州市| 东明县| 遂溪县| 日照市| 伊春市| 和政县| 商丘市| 彭水| 忻州市| 西昌市| 尉氏县| 呈贡县| 延长县| 道孚县| 萍乡市| 孟州市| 宁明县|