L'écran clavier s'affiche automatiquement lorsque le début de l'Activité
Lors de mon Activité avec un ScrollView
mise en page et EditText
s commence, le EditText
s obtiennent le focus et l'Android à l'Écran clavier s'affiche.
Comment je peux l'éviter?
Quand j'ai été en utilisant LinearLayout
et RelativeLayout
sans ScrollView
ça n'arrivera pas.
J'ai essayé de cette façon, et il fonctionne, mais ce n'est pas une bonne façon de le faire:
TextView TextFocus = (TextView) findViewById(R.id.MovileLabel);
TextFocus.setFocusableInTouchMode(true);
TextFocus.requestFocus();
Ensuite, vous avez un exemple de certains de mes mises en page avec ce problème, lorsque cette Activité démarre, l'accent va à la première EditText
, Description et le clavier Android s'ouvre automatiquement, c'est très ennuyeux.
<?xml version="1.0" encoding="utf-8"?>
<ScrollView android:id="@+id/ScrollView01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10px">
<RelativeLayout
android:gravity="center_vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/UserLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="13px"
android:text="@string/userlabel"/>
<TextView
android:id="@+id/User"
android:layout_alignBaseline="@id/UserLabel"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="test"/>
</RelativeLayout>
<View
android:layout_gravity="center_horizontal"
android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="#808080"
android:layout_marginTop="5px"
android:layout_marginBottom="12px"/>
<RelativeLayout
android:gravity="center_vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/DescriptionLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/desclabel"
android:layout_marginTop="13px"/>
<EditText
android:id="@+id/Description"
android:layout_alignBaseline="@id/DescriptionLabel"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="180px"/>
</RelativeLayout>
<RelativeLayout
android:gravity="center_vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/EmailLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/emaillabel"
android:layout_marginTop="13px"/>
<EditText
android:id="@+id/Email"
android:layout_alignBaseline="@+id/EmailLabel"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="180px"/>
</RelativeLayout>
<RelativeLayout
android:gravity="center_vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/MovilePhoneLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/movilephonelabel"
android:layout_marginTop="13px"/>
<EditText
android:id="@+id/MovilePhone"
android:layout_alignBaseline="@+id/MovilePhoneLabel"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="180px"/>
</RelativeLayout>
<View
android:layout_gravity="center_horizontal"
android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="#808080"
android:layout_marginTop="5px"
android:layout_marginBottom="10px"/>
<RelativeLayout
android:gravity="center_vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/applybutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/apply"
android:width="100px"
android:layout_marginLeft="40dip"/>
<Button
android:id="@+id/cancelbutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/cancel"
android:width="100px"
android:layout_alignBaseline="@+id/applybutton"
android:layout_alignParentRight="true"
android:layout_marginRight="40dip"/>
</RelativeLayout>
</LinearLayout>
</ScrollView>
- je l'ai tester et oui, si je retire la scrollview de ma mise en page, le clavier android de ne pas faire ouvrir automatiquement!!! le problème c'est pour le scrollview, mais j'en ai besoin :S quelqu'un peut-il aider?
Vous devez vous connecter pour publier un commentaire.
Android ouvre la OnScreenKeyboard automatiquement si vous avez un
EditText
concentré lorsque l'Activité commence.Vous pouvez éviter cela en ajoutant votre Activité est
onCreate
méthode.Si vous voulez faire de l'édition de la AndroidManifest:
la ligne
android:windowSoftInputMode="stateHidden"
est celui qui empêche le focus du clavier.Une autre façon est d'ajouter sur LinearLayout:
Permettez-moi d'indiquer que
toujours fait la même chose, mais le curseur est toujours là.
Vous pouvez utiliser la déclaration ci-dessous également,
(EditTextName).setInputType(0)
il va définitivement se cache clavier par défaut de particulier Edittext, même sur EditText appuyez ou Cliquez sur.
Ce sera un comportement inapproprié
mais il le fera en douceur(le faire dans
manifest
pour cette activité)