Nella mia applicazione Android si concentra automaticamente il primo Button
che ho nel mio layout, dandogli un contorno arancione. Come posso impostare il focus iniziale preferibilmente in XML e questo può essere impostato su nulla?
Nella mia applicazione Android si concentra automaticamente il primo Button
che ho nel mio layout, dandogli un contorno arancione. Come posso impostare il focus iniziale preferibilmente in XML e questo può essere impostato su nulla?
Risposte:
Potresti usare il requestFocus
tag:
<Button ...>
<requestFocus />
</Button>
Trovo strano anche se mette a fuoco automaticamente uno dei tuoi pulsanti, non ho osservato quel comportamento in nessuna delle mie visualizzazioni.
@ Qualcuno da qualche parte, ho provato tutto quanto sopra senza alcun risultato. La correzione che ho trovato è da http://www.helloandroid.com/tutorials/remove-autofocus-edittext-android . Fondamentalmente, devi creare un layout invisibile appena sopra il pulsante problematico:
<LinearLayout android:focusable="true"
android:focusableInTouchMode="true"
android:layout_width="0px"
android:layout_height="0px" >
<requestFocus />
</LinearLayout>
RelativeLayout
contenente il file EditText
.
Imposta entrambi :focusable
e :focusableInTouchMode
su true e chiama requestFocus
. Fa il trucco.
Ho trovato che funzionava meglio per me.
In AndroidManifest.xml <activity> element
aggiungiandroid:windowSoftInputMode="stateHidden"
Nasconde sempre la tastiera quando si accede all'attività.
Aggiungo solo questa riga di codice in onCreate()
:
this.getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
Problema risolto.
@ Qualcuno da qualche parte ho usato questo per mettere a fuoco:
editText.clearFocus();
e aiuta