Как отключить любое событие на View в Android?
У меня простой вопрос: как отключить любое событие в View в Android? (включая удаление его фокусируемости, как будто я просто хочу, чтобы он был там визуально, но не существовал во всем остальном) И это работает на целом дереве представления? (например, если я отключу события в корне, все события будут отключены для его дочерних элементов?).
Теперь, прежде чем что-то сказать, я попробовал все следующее:
setEnabled setFocusable setSelected setClickable setActivatedИ ни один из этих методов не работает серьезно.
Я попробовал их прямо наWebView
, а также на родительском макете на все, но я все еще могу взаимодействовать с ним.
Любая идея?
Спасибо!
EDIT#1
Решение, заключающееся в добавлении представления поверх представления, которое необходимо отключить, не работает. На самом деле все еще можно нажать на внутреннем виде, я попробовал на простом примере:
<code><?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="#ff0000"> <Button android:id="@+id/button" android:layout_width="match_parent" android:layout_height="match_parent" android:text="Click Me!" /> </LinearLayout> <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent" android:background="#00000000" /> </FrameLayout> </code>
Здесь все еще можно нажать наbutton
.
EDIT#2
Причина, по которой я хочу это сделать, связана сследующий вопрос что я спросил несколько недель назад.
Что у меня естьListView
выступая в качестве панели навигации, которая находится подView
который содержит содержимое моего приложения. Проблема с этой реализацией заключается в том, что, когда я пытаюсь прокрутитьListView
когда в слое сверху есть фокусируемый вид, хорошоListView
не прокручивает и вместо этого это вид сверху, который фокусируется (это тот случай, когда есть
Webview
илиEditText
так далее.).
Так что да, как упоминалось в одном из ответов, я могу отключить любые события клика наWebView
переопределивsetOnTouchListener
но представление остается сфокусированным, и я думаю, что по этой причине у меня все еще остается та же проблема с моей панелью навигации.