我有一個包含很多視圖的佈局。有沒有簡單的方法來禁用其所有視圖點擊事件?如何禁用佈局的所有點擊事件?
回答
我會創建一個ViewGroup
,其中包含要同時啓用/禁用的所有視圖,並請setClickable(true/false)
來啓用/禁用單擊。
在您的活動中創建布爾clickEnabled
並在點擊偵聽器中檢查它;如果它是假的,不要做任何事情。
我會在您的活動課中實施onClickListener
界面,並在onClick
方法中返回false。我覺得這是解決你的問題最簡單的方法。
onClick的返回類型是void – amiekuser 2013-06-13 12:00:32
您可以通過View
禁用所有兒童點擊事件。
public static void enableDisableView(View view, boolean enabled) {
view.setEnabled(enabled);
if (view instanceof ViewGroup) {
ViewGroup group = (ViewGroup)view;
for (int idx = 0 ; idx < group.getChildCount() ; idx++) {
enableDisableView(group.getChildAt(idx), enabled);
}
}
}
@FARID pass enableDisableView(linView,false);它應該工作 – 2017-06-05 06:11:25
工作就像一個魅力。測試在https://github.com/roughike/BottomBar禁用標籤 – 2017-11-23 08:43:59
@ Mr.Robot享受朋友快樂編碼。 :) – 2017-11-24 09:46:12
而不是通過所有的兒童觀迭代,你可以將此功能添加到父版式視圖
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
return true;
}
這將onTouchEvent
任何子視圖之前被調用,如果返回true
,子視圖的onTouchEvent
根本不會被調用。如果需要,可以創建一個布爾型字段成員來打開和關閉此狀態。
perfekt答案!謝謝! – Georg 2015-05-20 08:52:21
您需要在視圖上調用setEnabled(boolean value)
方法。
view.setClickable(false);
view.setEnabled(false);
不適合我,孩子們仍然有行動 – jose920405 2016-09-23 22:24:15
- 1. 佈局不響應點擊事件
- 2. 禁用頁面上的所有點擊事件(javascript)
- 3. 如何禁止#hrefs的點擊事件?
- 4. 如何在點擊事件中更改框架佈局中的佈局?
- 5. 如何點擊佈局?
- 6. 如何禁用所有setTimeout事件?
- 7. SAPUI5:如何將點擊事件綁定到水平佈局?
- 8. 如何禁用所有點擊事件需要一些div元素
- 9. 禁用/啓用點擊事件Jquery
- 10. 如何啓用/禁用點擊事件DIV-Jquery的
- 11. 如何在Android中禁用所有觸摸佈局
- 12. 點擊事件不會觸發如果模糊更改佈局
- 13. HTML5畫布點擊事件
- 14. JQUERY-UI:Datepicker - 禁用日期點擊事件
- 15. 通過單擊事件禁用錨點
- 16. 禁用點擊事件的除了鏈接內的所有鏈接
- 17. 可點擊佈局
- 18. 佈局可點擊
- 19. 如何禁用所有點擊中的iFrame
- 20. 如何啓用點擊事件被禁用的div內元素上的點擊事件?
- 21. 如何重置點擊事件上的所有模型?
- 22. 點擊一個佈局導致所有的textview改變顏色
- 23. 第二次點擊禁用所有點擊兩秒鐘?
- 24. 在循環內添加jQuery點擊事件「自動」點擊所有事件
- 25. 如何禁用ListView觸摸事件?只允許childview點擊
- 26. 如何在點擊事件中禁用Javascript重定向
- 27. 如何在點擊onClick()事件後禁用scrollTop()效果
- 28. 如何禁用鼠標點擊按鈕動作事件?
- 29. 如何觸發點擊事件沒有明確的默認點擊事件jstree
- 30. 如何點擊在javascript畫布中使用對象的事件?
而通過的ViewGroup我指的是一個子類。檢查這個[鏈接](http://developer.android.com/reference/android/view/ViewGroup.html) – khellang 2011-06-04 19:36:42