日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

关于ViewGroup中requestDisallowInterceptTouchEvent的用法

發(fā)布時間:2024/4/15 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于ViewGroup中requestDisallowInterceptTouchEvent的用法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在開發(fā)過程中可能會遇到諸如此類問題:

1、在上下滑動的ScrollView中嵌套一個橫滑列表,拖動橫滑列表時可能引起ScrollView的上下滑動導致體驗極差

2、在ViewPager中嵌套了一個橫滑列表,在拖動橫滑列表時同樣可能導致ViewPager的tab切換。

?

requestDisallowInterceptTouchEvent 是ViewGroup類中的一個公用方法,參數(shù)是一個boolean值,官方介紹如下

Called when a child does not want this parent and its ancestors to intercept touch events with ViewGroup.onInterceptTouchEvent(MotionEvent).

This parent should pass this call onto its parents. This parent must obey this request for the duration of the touch (that is, only clear the flag after this parent has received an up or a cancel.

android系統(tǒng)中,一次點擊事件是從父view傳遞到子view中,每一層的view可以決定是否攔截并處理點擊事件或者傳遞到下一層,如果子view不處理點擊事件,則該事件會傳遞會父view,由父view去決定是否處理該點擊事件。在子view可以通過設置此方法去告訴父view不要攔截并處理點擊事件,父view應該接受這個請求直到此次點擊事件結束。

實際的應用中,可以在子view的ontouch事件中注入父ViewGroup的實例,并調用requestDisallowInterceptTouchEvent去阻止父view攔截點擊事件

public boolean onTouch(View v, MotionEvent event) {ViewGroup viewGroup = (ViewGroup) v.getParent();switch (event.getAction()) {case MotionEvent.ACTION_MOVE: viewGroup.requestDisallowInterceptTouchEvent(true);break;case MotionEvent.ACTION_UP:case MotionEvent.ACTION_CANCEL:viewGroup .requestDisallowInterceptTouchEvent(false);break;} }

  

轉載于:https://www.cnblogs.com/txlbupt/p/4371290.html

總結

以上是生活随笔為你收集整理的关于ViewGroup中requestDisallowInterceptTouchEvent的用法的全部內容,希望文章能夠幫你解決所遇到的問題。

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