Como desativar qualquer evento em um View no Android?
Minha pergunta é simples: como desabilitar qualquer evento em um View no Android? (incluindo a remoção de sua capacidade de foco, como se eu apenas quisesse que estivesse lá visualmente, mas fosse inexistente em todo o resto) E funciona em uma árvore de visão inteira? (como se eu desabilitar eventos na raiz, todos os eventos serão desativados para seus filhos?).
Agora, antes de dizer qualquer coisa eu tentei o seguinte:
setEnabledsetFocusablesetSelectedsetClickablesetActivatedE nenhum desses métodos parece funcionar seriamente.
Eu tentei-os diretamente em umWebView
, bem como no layout pai em tudo, mas ainda sou capaz de interagir com ele.
Qualquer ideia?
Obrigado!
EDITAR # 1
A solução que consiste em adicionar uma visão em cima da visão que precisa ser desativada não funciona. Na verdade, ainda é possível clicar na visão interna, tentei com um exemplo simples:
<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>
Aqui ainda é possível clicar nobutton
.
EDITAR # 2
A razão pela qual eu quero fazer isso está relacionado com opergunta seguinte que eu perguntei semanas atrás.
O que eu tenho é umListView
agindo como uma barra de navegação que está sob umView
que contém o conteúdo do meu aplicativo. O problema com esta implementação é que quando eu tento percorrer oListView
quando há uma visão focalizável na camada em cima dele, bem oListView
não rola e, em vez disso, é a vista superior que leva o foco (esse é o caso quando há umaWebview
ou umEditText
etc).
Então, sim, como mencionado em uma das respostas, posso desabilitar qualquer evento de clique em umWebView
substituindosetOnTouchListener
mas a visão continua focada e eu acho que esta é a razão pela qual eu ainda estou tendo o mesmo problema com a minha barra de navegação.