2014-05-22 2 views
2

Dans ma configuration Android, j'ai deux éléments EditText. Ils apparaissent côte à côte au bas de l'écran. Mais quand je tape plusieurs lignes dans le premier EditText (à gauche), le second (à droite) continue aussi à se déplacer même s'il est vide. J'ai spécifié android:layout_gravity="bottom" et android:gravity="bottom" pour le second EditText. Mais cela n'a aucun effet. Qu'est-ce que je fais mal? Comment puis-je faire en sorte que le second EditText reste au centre vertical de sa disposition linéaire parente, quel que soit le nombre de lignes entrées dans le premier EditText.layout_gravity = "bottom" ne fonctionne pas

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" 
     android:background="@drawable/bg_textinput" 
     android:layout_alignParentBottom="true"> 

     <EditText 
      android:id="@+id/text_input" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_gravity="bottom" 
      android:layout_weight="0.7" 
      android:inputType="textMultiLine" /> 

     <EditText 
      android:id="@+id/text_input1" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_gravity="bottom" 
      android:gravity="bottom" 
      android:layout_weight="0.3" 
      android:inputType="textMultiLine" /> 

     </LinearLayout> 
</RelativeLayout> 

Répondre

1

Cela fonctionne:

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:layout_alignParentBottom="true" 
    android:gravity="center"> 

    <EditText 
     android:id="@+id/text_input" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="0.7" 
     android:inputType="textMultiLine" /> 
    <EditText 
     android:id="@+id/text_input1" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:gravity="bottom" 
     android:layout_weight="0.3" 
     android:inputType="textMultiLine" /> 
    </LinearLayout> 
+0

En utilisant android: gravity = "center" pour la distribution linéaire a fonctionné. Mais la ligne du second EditText reste toujours en bas, même si l'entrée de texte se passe au centre. Je suis confronté au même problème avec l'autre solution fournie ici. Je commence à penser que c'est le comportement conçu d'un élément EditText. – faizal

+0

oh attends ça a marché! J'avais changé la layout_height du second EditText en "match_parent" en expérimentant. Cela a fonctionné après que je l'ai changé en "wrap_content". Merci! – faizal

+0

Super! Heureux d'aider. – Anandroid

0

essayer,

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal" > 

    <EditText 
     android:id="@+id/text_input" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom" 
     android:layout_weight="0.7" 
     android:inputType="textMultiLine" /> 

    <EditText 
     android:id="@+id/text_input1" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom" 
     android:layout_weight="0.3" 
     android:gravity="bottom" 
     android:inputType="textMultiLine" /> 

</LinearLayout> 
+0

utilisant android: layout_height = "match_parent" dans ma mise en page linéaire provoqué l'écran à remplir avec ma disposition linéaire. Donc, je l'ai utilisé seulement dans mon second EditText à la place et cela a fonctionné partiellement, c'est-à-dire que le EditText ne bouge plus vers le haut. Mais maintenant, il est coincé au fond. Même si je change la gravité et layout_gravity au centre, la "ligne" EditText reste en bas, tandis que l'entrée de texte se passe au centre. comment puis-je garder la ligne toujours au centre vertical? – faizal

+0

suffit de supprimer Android: Gravity = "bas" de la deuxième édition –

+0

Le comportement est le même après l'avoir enlevé. c'est-à-dire que la saisie de texte a lieu au centre, mais la ligne est bloquée en bas. – faizal

Questions connexes