日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > Android >内容正文

Android

Android Activity使用OnGesture事件以后与子View的Click事件冲突解决办法

發(fā)布時(shí)間:2024/1/17 Android 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android Activity使用OnGesture事件以后与子View的Click事件冲突解决办法 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在實(shí)現(xiàn)多個(gè)圖片的切換功能時(shí),使用到了手勢(shì)事件功能,但同時(shí)需要給圖片增加一個(gè)單擊事件去執(zhí)行其它功能。增加單擊事件后,圖片會(huì)截取到touchdown并不再往下傳遞,導(dǎo)致手勢(shì)事件失效,這里給出了其解決辦法,稍后會(huì)整理出多圖切換內(nèi)容 先看解決辦法,在這之前,需要了解?OnGestureListener 中?onDown、onFling、onLongPress、onScroll、onShowPress、onSingleTapUp的執(zhí)行順序以及其執(zhí)行原由。這里做了簡(jiǎn)單總結(jié) boolean onDown(MotionEvent e) 解釋:Touch down時(shí)觸發(fā) boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) 解釋:Touch了滑動(dòng)一點(diǎn)距離后,up時(shí)觸發(fā)。void onLongPress(MotionEvent e) 解釋:Touch了不移動(dòng)一直Touch down時(shí)觸發(fā)boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) 解釋:Touch了滑動(dòng)時(shí)觸發(fā)。void onShowPress(MotionEvent e) 解釋:Touch了還沒(méi)有滑動(dòng)時(shí)觸發(fā) (與onDown,onLongPress比較 onDown只要Touch down一定立刻觸發(fā)。而Touchdown后過(guò)一會(huì)沒(méi)有滑動(dòng)先觸發(fā)onShowPress再是onLongPress。所以Touchdown后一直不滑動(dòng),onDown->onShowPress->onLongPress這個(gè)順序觸發(fā)。 )boolean onSingleTapConfirmed(MotionEvent e) boolean onSingleTapUp(MotionEvent e) 解釋:上面這兩個(gè)函數(shù)都是在touch down后又沒(méi)有滑動(dòng)(onScroll),又沒(méi)有長(zhǎng)按(onLongPress),然后Touchup時(shí)觸發(fā)。點(diǎn)擊一下非常快的(不滑動(dòng))Touchup: onDown->onSingleTapUp->onSingleTapConfirmed點(diǎn)擊一下稍微慢點(diǎn)的(不滑動(dòng))Touchup: onDown->onShowPress->onSingleTapUp->onSingleTapConfirmed 到了這里,就已經(jīng)很明了的清楚了,在onDown以后且onFling以前執(zhí)行的函數(shù)有onShowPress、onSingleTapUp,我已經(jīng)做過(guò)了測(cè)試不過(guò)非常快的點(diǎn)擊還是稍微慢的點(diǎn)擊都會(huì)觸發(fā)?onSingleTapUp ,因此只需要在這個(gè)函數(shù)上做一下功夫就可以了 @Override public boolean onSingleTapUp(MotionEvent e) { // TODO Auto-generated method stub Log.d("Tag", "singletagup"); this.viewfliper.setClickable(true); Intent intent = new Intent(context, PhotoScaleActivity.class); startActivity(intent); this.viewfliper.setClickable(false); return false; } 好了,這樣就已經(jīng)實(shí)現(xiàn)了想要的功能了~ ?新記錄~

總結(jié)

以上是生活随笔為你收集整理的Android Activity使用OnGesture事件以后与子View的Click事件冲突解决办法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。