我知道有這樣的問題已經有答案,但我沒有任何運氣,所以這是最後的手段。如何防止Android ScrollView攔截其父母單擊事件
我有一個包含ScrollView的LinearLayout。我希望LinearLayout響應點擊,點擊,觸摸任何你想調用它,但滾動視圖干擾,所以LinearLayout的點擊處理程序從不調用。我不介意子類ScrollView和重寫onTouchEvent(但我不明白該怎麼放入它),但另一種解決方案也很好。我已經嘗試在LinearLayout,ScrollView和ScrollView的第一個孩子上使用requestDisallowInterceptTouch(true),但它不起作用(TBH,該方法的javadoc使我感到困惑)。
如果我在自定義的滾動視圖使用此覆蓋:
@Override
public boolean onTouchEvent(MotionEvent event) {
return false;
}
...的LinearLayout中沒有迴應水龍頭,但滾動被完全禁用,並在LinearLayout中單擊處理所有類型的觸摸手勢的結果是調用。那麼,我需要做些什麼來讓滾動動作像平時一樣處理,並且還可以讓ScrollView忽略點擊/點擊?
對於它的價值,在XML看起來是這樣的:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/my_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
.../>
<com.package.MyScrollView
android:id="@+id/my_scroller"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fillViewport="true"
android:scrollbars="vertical">
...
...
在正常情況下,TextView的面積將檢測與LinearLayout中註冊的點擊,但滾動型不會。
它沒有工作,也沒有focusableintouchmode =「false」 – RTF