TsCyrille Posté(e) 1 février 2011 Share Posté(e) 1 février 2011 Bonjour J'ai une activité composée d'un ScrollView avec plusieurs EditText. Quand je lance cette activité, le focus est donné au premier EditText se trouvant dans mon ScrollView mais cela : - m'ouvre automatiquement le clavier (je fais mes tests sur un HTC Desire) - me positionne au milieu de mon ScrollView (mon premier EditText se trouvant au milieu du ScrollView) En fait j'aimerai être positionné au début de mon ScrollView et que le clavier ne s'ouvre pas (en fait que le premier EditText n'ai pas le focus). Est-ce que cela est possible (par exemple peut on dire que l'on ne veut donner le focus à aucun contrôle à l'ouverture de l'activité) ? Merci d'avance Lien vers le commentaire Partager sur d’autres sites More sharing options...
TecKnologikS Posté(e) 1 février 2011 Share Posté(e) 1 février 2011 tiens un exemple, il faut rajouter la ligne window machin dans ton manifest a l'endroit de ton activity: <activity android:name="Test" android:label="TonActivity" android:windowSoftInputMode="stateHidden"> </activity> avec cette config il ne s'ouvrira jamais au start... il doit attendre un edittext ou autre... Lien vers le commentaire Partager sur d’autres sites More sharing options...
TsCyrille Posté(e) 2 février 2011 Auteur Share Posté(e) 2 février 2011 Merci pour ton aide. En effet en rajoutant dans le manifest : android:windowSoftInputMode="stateHidden" le clavier ne s'ouvre plus automatiquement Il me reste juste ce petit souci : le focus est donné à mon premier EditText qui se trouve au milieu de ma ScrollView donc quand je lance mon activité, je suis positionné au milieu de celle-ci. J'aimerai me positionner au début de celle-ci à l'ouverture de mon activité (en fait ne pas donner de focus en automatique au premier EditText). J'ai essayé de mettre ce bout de code dans le constructeur de l'activité final ScrollView scrollView = ((ScrollView)findViewById(.R.id.myScrollView)); scrollView.post(new Runnable() { @Override public void run() { scrollView.fullScroll(ScrollView.FOCUS_UP); } }); Mais cela ne fait rien. Est ce que quelqu'un aurait une idée ? Merci d'avance Lien vers le commentaire Partager sur d’autres sites More sharing options...
TsCyrille Posté(e) 2 février 2011 Auteur Share Posté(e) 2 février 2011 En fait en cherchant un peu j'ai trouvé cette solution : dans mon xml : pour mon ScrollView j'ai ajouté ces propriétés : android:focusable="true" android:focusableInTouchMode="true" dans mon code : dans le constructeur, j'ai ajouté ce bout de code : ((ScrollView)findViewByIdR.id.myScrollView).fullScroll(ScrollView.FOCUS_UP); Avec en plus dans le manifest l'ajout de la directive suivante pour mon activité : android:windowSoftInputMode="stateHidden" J'arrive à mes fins... Ce n'est peut être pas la meilleure solution mais elle marche... Lien vers le commentaire Partager sur d’autres sites More sharing options...
TecKnologikS Posté(e) 3 février 2011 Share Posté(e) 3 février 2011 elle est plutot pas mal... bonne chance, dit moi quand tu as fini le dev que je te fasse un retour Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.