Dans mon application Android, il concentre automatiquement le premier que Button
j'ai dans ma mise en page, en lui donnant un contour orange. Comment puis-je définir le focus initial de préférence en XML, et peut-il être défini sur rien?
Réponses:
Vous pouvez utiliser la requestFocus
balise:
<Button ...>
<requestFocus />
</Button>
Je trouve étrange cependant qu'il concentre automatiquement l'un de vos boutons, je n'ai observé ce comportement dans aucune de mes vues.
@Someone Somewhere, j'ai essayé tout ce qui précède en vain. Le correctif que j'ai trouvé provient de http://www.helloandroid.com/tutorials/remove-autofocus-edittext-android . Fondamentalement, vous devez créer une mise en page invisible juste au-dessus du bouton problématique:
<LinearLayout android:focusable="true"
android:focusableInTouchMode="true"
android:layout_width="0px"
android:layout_height="0px" >
<requestFocus />
</LinearLayout>
RelativeLayout
contenant le EditText
.
Réglez les deux :focusable
et :focusableInTouchMode
sur true et appelez requestFocus
. Ça fait l'affaire.
J'ai trouvé que cela fonctionnait le mieux pour moi.
Dans AndroidManifest.xml, <activity> element
ajoutezandroid:windowSoftInputMode="stateHidden"
Cela masque toujours le clavier lors de l'entrée dans l'activité.
J'ajoute simplement cette ligne de code dans onCreate()
:
this.getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
Problème résolu.
@Someone Somewhere j'ai utilisé ceci pour clarifier le focus:
editText.clearFocus();
et ça aide