Em meu aplicativo Android, ele focaliza automaticamente o primeiro Button
que tenho em meu layout, dando a ele um contorno laranja. Como posso definir o foco inicial, de preferência em XML, e isso pode ser definido como nada?
Em meu aplicativo Android, ele focaliza automaticamente o primeiro Button
que tenho em meu layout, dando a ele um contorno laranja. Como posso definir o foco inicial, de preferência em XML, e isso pode ser definido como nada?
Respostas:
Você pode usar a requestFocus
tag:
<Button ...>
<requestFocus />
</Button>
Embora eu ache estranho que ele focalize automaticamente um de seus botões, não observei esse comportamento em nenhuma das minhas visualizações.
@Someone Somewhere, eu tentei todas as opções acima sem sucesso. A correção que encontrei é de http://www.helloandroid.com/tutorials/remove-autofocus-edittext-android . Basicamente, você precisa criar um layout invisível logo acima do botão problemático:
<LinearLayout android:focusable="true"
android:focusableInTouchMode="true"
android:layout_width="0px"
android:layout_height="0px" >
<requestFocus />
</LinearLayout>
RelativeLayout
contendo o EditText
.
Defina :focusable
e :focusableInTouchMode
como verdadeiro e chame requestFocus
. Isso faz o truque.
Achei que funcionou melhor para mim.
Em AndroidManifest.xml, <activity> element
adicioneandroid:windowSoftInputMode="stateHidden"
Isso sempre oculta o teclado ao entrar na atividade.
Acabei de adicionar esta linha de código em onCreate()
:
this.getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
Problema resolvido.
@Someone Somewhere eu usei isso para clarear o foco:
editText.clearFocus();
e isso ajuda