Problèmes avec EditText et du clavier virtuel en un fragment
Je suis actuellement en train de construire une application android qui permet aux utilisateurs de prendre des photos et d'écrire plus de détails. L'application utilise Sherlock bibliothèques.
J'ai mis en place un SherlockFragment pour afficher l'image et un peu de EditText et TextView pour permettre aux utilisateurs de saisir les informations de l'image. Toutefois, lorsque l'un des EditText est sur la mise au point, tous les champs sont poussés à la hausse et le clavier virtuel apparaît.
Voici ma présentation:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linear"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="#FFFFFF">
<ImageView
android:id="@+id/imageView1"
android:layout_width="fill_parent"
android:layout_height="200dip"
android:layout_above="@+id/textView"
android:layout_marginTop="20dip"
android:layout_marginBottom="20dip"
android:contentDescription="desc" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Title:"
android:textStyle="bold"
android:layout_above="@+id/editTextSimple"
android:layout_marginBottom="2dip"
android:textSize="15sp"/>
<EditText
android:id="@+id/editTextSimple"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/textView1"
android:layout_marginBottom="4dip">
<requestFocus />
</EditText>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Description:"
android:textStyle="bold"
android:layout_above="@+id/editTextSimple1"
android:layout_marginBottom="2dip"
android:textSize="15sp"/>
<EditText
android:id="@+id/editTextSimple1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/textView2"
android:layout_marginBottom="12dip">
</EditText>
<Button android:textColor="#FF000000"
android:id="@+id/submitButton"
android:text="@string/memorySubmit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="24dip"
android:onClick = "submit"/>
</RelativeLayout>
De ce que je comprends, dans une activité, on place cette <activity android:windowSoftInputMode="...." >
dans le Manifeste Android pour ajuster l'affichage lorsque le clavier est appelé. Cependant, comment pouvons-nous définir ce pour des fragments?
Vous devez vous connecter pour publier un commentaire.
cela a fonctionné pour moi dans un scénario où j'ai été en utilisant plusieurs mises en page et un viewstub pour créer un écran de messagerie. Placez ce dans onCreate() Espérons que cette aide.
Tous les fragments d'un
Activity
ont le même comportement que leurs parentsActivity
, mais si vous avez besoin d'un clavier différent des comportements différentsFragments
, vous pouvez modifier dynamiquement cette propriété à partir de votreFragment
code comme ceci:Espérons que cette aide!
android:layout_above
, si je ne peux pas être trop sûr.Ceci peut être utilisé dans le Fragment de Classe pour déplacer le texte à Modifier et faites Défiler jusqu'à la fin.
Tous les Fragments liés à cette activité se comportent de même, si vous souhaitez modifier le comportement de particulier fragment que d'utiliser la suivante
essayer cette
getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
J'ai également ce problème dans mon projet, j'ai développé mon projet à l'aide de fragments et des onglets,
Si nous prenons par rapport de mise en page et garder au-dessus et au-dessous de la dépendance et au dernier bouton avec
puis il va faire problème, La Solution est de prendre le ScrollView à l'intérieur de la racine Linéaire ou Relative de la Mise en page et à l'intérieur de ScrollView prendre une vue d'enfant de manière Linéaire ou Relative, et l'ensemble de tous les consulter ci-dessous les uns des autres dans RelativeLayout (si elles sont prises par rapport à la vue enfant) ou aucun besoin d'installer de dépendance Linéaire.
Ça y est, Ça fonctionne... 🙂
ce changement se manifeste fonctionne très bien pour moi