1

J'ai un TextView et EditText, qui doit être aligné dans une rangée avec la durée correcte.aligner et ajuster la largeur de textview et edittext dans une rangée

En configuration actuelle, EditText est aligné, mais il semble Shrinked, ne prenant pas la largeur restante

enter image description here

Xml:

<TableLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     tools:style="@style/AppTheme" 
     android:layout_marginBottom="10dp" 
     android:layout_marginTop="10dp"> 

     <TableRow> 
      <TextView 
       style="@style/AppTheme.DetailInfo" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="New Password:" /> 
      <EditText 
       style="@style/AppTheme.TextBox" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:inputType="textPassword" 
       android:maxLines="1" 
       android:text= "@={profile.password}"/> 
     </TableRow> 
    </TableLayout> 
+1

peut être parce que la largeur est définie sur 'wrap_content' et l'edittext est vide pour le moment –

+0

Vous pouvez utiliser la propriété stretchcolumns et shrinkcolumns https://stackoverflow.com/questions/32331368/how-do-androidshrinkcolumns-and- androidstretchcolumns-travail –

Répondre

2

Si vous voulez que le EditText pour remplir l'espace restant , vous devez définir son layout_width = "0dp" et layout_weight = "1". Voir:

https://developer.android.com/guide/topics/ui/layout/linear.html#Weight

« Par exemple, s'il y a trois champs de texte et deux d'entre eux déclarent un poids de 1, tandis que l'autre est pas donné de poids, le troisième champ de texte sans poids ne se développera pas et la volonté occuper seulement la zone requise par son contenu. " Editer: Si vous voulez aligner le début de vos édits, vous devez appliquer le même poids à toutes vos textviews et le même poids à tous vos édits. La réponse originale remplira simplement l'espace restant sans garder le début des éditxts alignés.