我有一個包含很多視圖的佈局。有沒有簡單的方法來禁用其所有視圖點擊事件?如何禁用佈局的所有點擊事件?
回答
我會創建一個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. android - 禁用線性佈局孩子上的點擊事件
- 2. 如何禁用點擊事件按鈕?
- 3. d3js樹佈局節點單擊事件
- 4. 佈局不響應點擊事件
- 5. 禁用頁面上的所有點擊事件(javascript)
- 6. 如何禁止#hrefs的點擊事件?
- 7. 如何在點擊事件中更改框架佈局中的佈局?
- 8. 如何從窗口中禁止全局鼠標點擊事件?
- 9. 禁用所有點擊事件,直到AJAX請求完成
- 10. 如何點擊佈局?
- 11. 如何禁用所有setTimeout事件?
- 12. 如何禁用所有點擊事件需要一些div元素
- 13. SAPUI5:如何將點擊事件綁定到水平佈局?
- 14. 攔截和阻止所有點擊事件,如果元素具有「已禁用」
- 15. 禁用使用javascript的所有控件的單擊事件
- 16. 如何禁用插件內的佈局?
- 17. 禁用父母jQuery的點擊事件
- 18. jquery禁用div的點擊事件
- 19. 如何禁用佈局內的所有視圖?
- 20. 如何正確引用佈局點擊?
- 21. 禁用/啓用點擊事件Jquery
- 22. 使用jQuery禁用點擊事件
- 23. 禁用點擊事件不起作用?
- 24. 如何啓用/禁用點擊事件DIV-Jquery的
- 25. 按鈕點擊事件發佈,佈局和解析問題?
- 26. 如何在Android中禁用所有觸摸佈局
- 27. 如何禁用dc.js中的rowChart上的點擊事件
- 28. JQUERY-UI:Datepicker - 禁用日期點擊事件
- 29. 暫時禁用點擊事件
- 30. 第一列禁用點擊事件
而通過的ViewGroup我指的是一個子類。檢查這個[鏈接](http://developer.android.com/reference/android/view/ViewGroup.html) – khellang 2011-06-04 19:36:42