Dans mon Android, le premier bouton que j’ai dans ma disposition est automatiquement centré, ce qui lui donne un contour orange. Comment puis-je définir le focus initial de préférence en XML et peut-il ne rien régler?
Vous pouvez utiliser la balise requestFocus
:
<Button ...>
<requestFocus />
</Button>
Je trouve étrange que cela mette au point l’un de vos boutons automatiquement. Je n’ai observé ce comportement dans aucun de mes points de vue.
@ Someone Quelque part, 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>
Définir les deux :focusable
et :focusableInTouchMode
à true et appelez requestFocus
. Ça fait l'affaire.
J'ai trouvé que cela fonctionnait mieux pour moi.
Dans AndroidManifest.xml <activity> element
ajouter Android:windowSoftInputMode="stateHidden"
Cela masque toujours le clavier lors de la saisie de l'activité.
Je viens d'ajouter cette ligne de code dans onCreate()
:
this.getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
Problème résolu.
Utilisez le code ci-dessous,
TableRow _tableRow =(TableRow)findViewById(R.id.tableRowMainBody);
tableRow.requestFocus();
cela devrait fonctionner.
@ Someone Quelque part, j'ai utilisé cela pour effacer le focus:
editText.clearFocus();
et ça aide