Moje pytanie jest proste: Jak wyłączyć dowolne zdarzenie w widoku na Androida? (w tym usunięcie jego zdolności do ogniskowania, tak jakbym po prostu chciał, aby było tam wizualnie, ale było nieodporne na wszystko inne) I działa na całym drzewie widoku? (jak jeśli wyłączę zdarzenia w katalogu głównym, wszystkie zdarzenia zostaną wyłączone dla swoich dzieci?).Jak wyłączyć dowolne zdarzenie w widoku w systemie Android?
Teraz, zanim powiesz coś Próbowałem wszystkie następujące:
I żadna z tych metod nie wydaje się działać, poważnie.
Próbowałem ich bezpośrednio na WebView
, a także na układzie nadrzędnym we wszystkim, ale wciąż jestem w stanie z nim współpracować.
Każdy pomysł?
Dzięki!
EDIT # 1
Rozwiązanie, które polega na dodawaniu widok na góry widoku, który musi być wyłączona, nie działa. Właściwie, to nadal możliwe, aby kliknąć na wewnętrznej widzenia Próbowałem z prostym przykładzie:
<?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>
Tutaj to jeszcze możliwe, aby kliknąć na button
.
EDIT # 2
Powód dlaczego chcę, aby to zrobić jest związane z following question że poprosiłem tygodnie temu.
To, co mam, to ListView
działający jako pasek nawigacyjny pod numerem View
, który zawiera treść mojej aplikacji. Problem z tą implementacją polega na tym, że gdy próbuję przewinąć przez ListView
, gdy w warstwie na wierzchu znajduje się widok, który można ustawić, dobrze, że ListView
nie przewija, a zamiast tego jest to widok z góry, który skupia się na tym (tak jest w przypadku jest Webview
lub EditText
itp.).
Więc tak jak wspomniano w jednym z odpowiedzi, mogę wyłączyć każde kliknięcie zdarzenia na WebView
nadrzędnymi setOnTouchListener
ale widok pozostaje skoncentrowany i myślę, że to jest powód, dlaczego ja wciąż ma ten sam problem z moim pasku nawigacyjnym .
Nie chcę, żeby zniknął! Po prostu chcę wyłączyć jakiekolwiek zdarzenie (np. Kliknięcia) na nim ... –
@AmokraneChentir po prostu uczyń to przezroczystym ... android: background = "android: color/transparent" <- jeśli istnieje, w przeciwnym razie stwórz własny przezroczysty kolor – Warpzit
No dobra, nie przeczytałem poprawnie odpowiedzi. Właściwie nawet z innym widokiem, wciąż mogę go przeglądać w widoku wewnętrznym. –