日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Android kotlin使用注解實現防按鈕連點功能的示例

瀏覽:139日期:2022-09-20 16:39:39
SingleClick:

@Retention(AnnotationRetention.RUNTIME)@Target(AnnotationTarget.FUNCTION)annotation class SingleClick( // 點擊間隔時間,毫秒 val value: Long = 500)SingleClickAspect:

import android.os.SystemClockimport org.aspectj.lang.ProceedingJoinPointimport org.aspectj.lang.annotation.Aroundimport org.aspectj.lang.annotation.Aspectimport org.aspectj.lang.annotation.Pointcutimport org.aspectj.lang.reflect.MethodSignature@Aspectclass SingleClickAspect { /** * 定義切點,標記切點為所有被@SingleClick注解的方法 * 注意:這里 你的包名.SingleClick 需要替換成 * 你自己項目中SingleClick這個類的全路徑 */ @Pointcut('execution(@你的包名.SingleClick * *(..))') fun methodAnnotated() { } /** * 定義一個切面方法,包裹切點方法 */ @Around('methodAnnotated()') @Throws(Throwable::class) fun aroundJoinPoint(joinPoint: ProceedingJoinPoint) { try { // 取出方法的注解 val signature = joinPoint.signature as MethodSignature val method = signature.method // 檢查方法是否有注解 val hasAnnotation = method != null && method.isAnnotationPresent(SingleClick::class.java) if (hasAnnotation) {// 計算點擊間隔,沒有注解默認500,有注解按注解參數來,注解參數為空默認500;val singleClick = method.getAnnotation(SingleClick::class.java)val interval = singleClick.value// 檢測間隔時間是否達到預設時間并且線程空閑if (canClick(interval)) { joinPoint.proceed()} } else {joinPoint.proceed() } } catch (e: Exception) { // 出現異常不攔截點擊事件 joinPoint.proceed() } } // 判斷是否響應點擊 private fun canClick(interval: Long): Boolean { val time = SystemClock.elapsedRealtime() val timeInterval = Math.abs(time - mLastClickTime) if (timeInterval > interval) { mLastClickTime = time return true } return false } companion object { // 最后一次點擊的時間 private var mLastClickTime: Long = 0 }}build.gradle(項目):

buildscript { dependencies { classpath ’com.hujiang.aspectjx:gradle-android-plugin-aspectjx:2.0.4’ }}build.gradle(APP):

plugins { id ’android-aspectjx’}使用:

<?xml version='1.0' encoding='utf-8'?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android='http://schemas.android.com/apk/res/android' xmlns:app='http://schemas.android.com/apk/res-auto' xmlns:tools='http://schemas.android.com/tools' android:layout_width='match_parent' android:layout_height='match_parent' tools:context='.MainActivity'> <TextView android:onClick='onTextClick' android:layout_width='wrap_content' android:layout_height='wrap_content' android:text='Hello World!' app:layout_constraintBottom_toBottomOf='parent' app:layout_constraintLeft_toLeftOf='parent' app:layout_constraintRight_toRightOf='parent' app:layout_constraintTop_toTopOf='parent' /></androidx.constraintlayout.widget.ConstraintLayout>

class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } @SingleClick(800) fun onTextClick(view: View) { }}

以上就是Android kotlin使用注解實現防按鈕連點功能的示例的詳細內容,更多關于Android kotlin實現防按鈕連點功能的資料請關注好吧啦網其它相關文章!

標簽: Android
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
视频在线观看91| 国产精品二区不卡| 久久午夜影院| 在线视频亚洲| 国产精品nxnn| 日韩精品免费视频一区二区三区| 亚洲综合在线电影| 欧美激情视频一区二区三区免费| 午夜在线视频一区二区区别| 蜜桃久久久久久久| 精精国产xxxx视频在线野外| 精品网站aaa| 国产精品欧美一区二区三区不卡 | 国产高清一区二区| 伊人久久视频| 精品三区视频| 国际精品欧美精品| 久久精品国产99国产| 日韩精品免费视频一区二区三区| av成人国产| 欧美日韩国产欧| 欧美13videosex性极品| 91精品一区| 蜜桃一区二区三区在线观看| 在线视频精品| 欧美特黄一区| 在线一区视频| 久久精品影视| 日韩高清欧美| 日韩欧美视频专区| 99精品在线观看| 国产91久久精品一区二区| 久久久久.com| 欧美亚洲国产激情| 91久久午夜| 综合激情网...| 欧美亚洲综合视频| 国产精品夜夜夜| 国产极品一区| 国产欧美一区二区三区国产幕精品 | 欧美aⅴ一区二区三区视频| 国产精品一区高清| 久久精品国产在热久久| 欧美xxxx中国| 女人av一区| 美女久久一区| 狠狠色综合网| 欧美日韩在线网站| 亚洲女同中文字幕| 中文一区一区三区免费在线观 | 丁香六月综合| caoporn视频在线| 国产精品成久久久久| 久久九九电影| 美女91精品| 国产精品一级在线观看| 色婷婷色综合| 亚洲经典在线| 91精品国产自产在线丝袜啪| 麻豆高清免费国产一区| 亚洲高清av| 午夜亚洲福利| 久久精品国产网站| 精品视频97| 亚洲性图久久| 在线视频精品| 国产欧美亚洲一区| 日韩av首页| 免费人成在线不卡| 青青草91久久久久久久久| 福利片在线一区二区| 激情黄产视频在线免费观看| 亚洲一级二级| 日韩中文字幕麻豆| 日韩欧美激情电影| 亚洲天堂资源| 日韩精品一级二级 | 日本国产欧美| 成人在线免费观看网站| 日韩一区二区三区在线免费观看| 老牛影视一区二区三区| 偷拍亚洲精品| 亚洲成人va| 日本视频在线一区| 国产亚洲精品自拍| 久久精品一区二区三区中文字幕| 欧美a级一区| 国产精品一区二区99| 色综合www| 欧美日韩99| 五月精品视频| 91亚洲精品在看在线观看高清| 国产99在线| 日韩精品亚洲专区| 色婷婷精品视频| 国产日韩欧美中文在线| 91精品99| 美女国产精品久久久| 久久不射网站| 热三久草你在线| 欧美综合精品| 亚洲天堂久久| 麻豆精品视频在线观看| 天堂av在线| 国产精品国产三级在线观看| 好吊视频一区二区三区四区| 精品理论电影在线| 亚洲一区二区日韩| 美女av在线免费看| 亚洲+小说+欧美+激情+另类| 精品高清久久| 欧美日本不卡高清| 蜜桃一区二区三区在线| 亚洲天堂黄色| 麻豆视频一区二区| 在线精品亚洲| 最新国产拍偷乱拍精品| 91欧美在线| 国产精品免费精品自在线观看| 欧美资源在线| 久久一区二区中文字幕| 精品视频自拍| 日本一不卡视频| 欧美日韩国产综合网| 国内不卡的一区二区三区中文字幕| 丝袜美腿亚洲一区二区图片| 日韩精品首页| jizzjizz中国精品麻豆| 国产精品久久久久久久免费软件| 婷婷视频一区二区三区| 99re国产精品| 欧美精品一二| 精品在线99| 欧美一区三区| 在线日韩av| 亚洲二区免费| av在线最新| 国产精品xxxav免费视频| 日韩欧美美女在线观看| 性一交一乱一区二区洋洋av| 国产99亚洲| 久久国产成人午夜av影院宅| jizzjizz中国精品麻豆| 精品视频网站| 麻豆精品国产91久久久久久| 国产精品亲子伦av一区二区三区 | 在线亚洲观看| 国产精品xvideos88| 美腿丝袜在线亚洲一区| 麻豆精品久久| 婷婷综合六月| 亚洲一区二区三区免费在线观看 | 一区二区日韩免费看| 日韩av黄色在线| 国产一区二区三区探花| 久久一区二区三区电影| 亚洲精选av| 精品视频一区二区三区在线观看| 成人看片网站| 午夜亚洲精品| 国产精品久久久久77777丨| 日韩欧美一区二区三区免费看| av一区在线| 亚洲精品进入| 精品99在线| 亚洲欧美日韩精品一区二区| 欧美伊人久久| 久久精品1区| 日韩高清国产一区在线| 麻豆mv在线观看| 久久成人一区| 久久久久观看| 国产视频一区免费看| 国产欧美日韩在线观看视频 | 99视频一区| 青青草国产成人99久久| 91欧美在线| 亚洲综合色婷婷在线观看| 精品国产aⅴ| 亚洲欧美久久久| 久久精品国产99国产| 国产亚洲毛片在线| 国产一区二区三区四区二区| 免费久久99精品国产自在现线| 欧美激情久久久久久久久久久| 欧美亚洲国产激情| 久久不卡国产精品一区二区| 一区在线免费| 精品视频国产| 综合激情网...| 久久久久97| 亚洲欧洲日韩精品在线| 成人久久一区| 国产精品成人国产| 久热精品在线| 国产亚洲一区二区手机在线观看| 青草国产精品| 亚洲综合三区| 日韩一区欧美| 欧美激情日韩|