編輯:Android編程入門
public class Utils { private static long lastClickTime; public static boolean isFastDoubleClick() { long time = System.currentTimeMillis(); long timeD = time - lastClickTime; if ( 0 < timeD && timeD < 500) { //500毫秒內按鈕無效,這樣可以控制快速點擊,自己調整頻率 return true; } lastClickTime = time; return false; } } //監聽按鈕調用方法 public void onClick(View v) { if (Utils.isFastDoubleClick()) { return; } }
-----------------------------------------------------------------你自己可以測試一把 絕對沒問題
寫一個類
package com.example.teststyle; import Android.util.Log; public class ButtonUtil { private static long lastClickTime = 0; private static long DIFF = 5000; private static int lastButtonId = -1; /** * 判斷兩次點擊的間隔,如果小於1000,則認為是多次無效點擊 * @return */ public static boolean isFastDoubleClick() { return isFastDoubleClick(-1,DIFF); } /** * 判斷兩次點擊的間隔,如果小於1000,則認為是多次無效點擊 * @return */ public static boolean isFastDoubleClick(int buttonId) { return isFastDoubleClick(buttonId,DIFF); } /** * 判斷兩次點擊的間隔,如果小於diff,則認為是多次無效點擊 * @param diff * @return */ public static boolean isFastDoubleClick(int buttonId,long diff) { long time = System.currentTimeMillis(); long timeD = time - lastClickTime; Log.v("xxxx", "lastButtonId = "+lastButtonId+" buttonId = "+buttonId); if (lastButtonId == buttonId && lastClickTime>0 && timeD < diff) { Log.v("isFastDoubleClick", "短時間內按鈕多次觸發"); return true; } lastClickTime = time; lastButtonId = buttonId; return false; } }
然後調用
public void onClick(View v) { // TODO Auto-generated method stub if(ButtonUtil.isFastDoubleClick(v.getId())){ //這兒進行控制,時間自己控制 Log.e("----->顯示點擊時間和開始時間", "開始時間"); Toast.makeText(getApplicationContext(), "顯示內容", Toast.LENGTH_SHORT).show(); return } //開始寫自己的業務邏輯 ........... }
前面幾節,我們重點討論了自定義View的三板斧,這節我們來討論自定義ViewGroup,為什麼要自定義ViewGroup,其實就是為了更好的管理View。 自定義Vie
一、在這裡我會先說明兩個基本概念,Broadcast(廣播)和BroadcastReceiver(廣播接收器) 1、Broadcast:是運用在
搞了半天,android的初學者,看著網上各種例子,特此記錄。注意:本教程針對像SlidingMenu這樣使用Android Studio結構的第三方庫。開始:第一步,去
實現雪花的效果其實也可以通過自定義View的方式來實現的(SurfaceView也是繼承自View的),而且操作上也相對簡單一些,當然也有一些