2010-02-18 7 views
0

J'ai un LinearLayout horizontal, à l'intérieur duquel j'ai 2 TextViews. Disons que la largeur du LinearLayout est de 320px. Si les TextViews ne correspondent pas à atteindre dans le LinearLayout (ils sont ensemble plus large que 320px), je veux en quelque sorte ceci:Comment créer une mise en page comme celle-ci?

  • Le deuxième TextView est entièrement affichée et se trouve au bord droit de la LinearLayout
  • Le premier TextView n'apparaît que partiellement, seulement le premier x caractères sont visibles

Ce que je veux dire:

[TextView1 | TextVi ew2_________________________] // ce qui est normal

[VeryVeryL ... | VeryVeryLongTextView2] // VeryVeryLongTextView1 est pas entièrement visible

Répondre

0

Pour obtenir l'effet que vous demandez dans les commentaires ci-dessus, vous pouvez modifier la solution de Mayra à quelque chose comme:

<LinearLayout ...> 
<TextView android:layout_width="wrap_content" 
      android:maxWidth="20dp" 
      android:layout_height="wrap_content"/> 
<TextView android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1"/> 

Je pense que cela va fonctionner. Bizarrement, le paramètre maxWidth n'est présent que sur deux classes de vue, mais heureusement TextView en fait partie. Vous penseriez que ce serait utile dans plus de cas, donc je ne suis pas sûr pourquoi ce n'est pas seulement disponible dans les paramètres d'affichage par défaut.

+0

Merci beaucoup! – fhucho

0

Spécifiez une largeur spécifique pour votre première textView (c.-à-20dp ... note, il est mieux pour utiliser dp que les pixels codés en dur, pour gérer plusieurs résolutions de périphériques), donnez à votre 2ème TextView un poids de 1. Ceci lui indique de prendre l'espace restant. Par exemple:

<LinearLayout ...> 
    <TextView android:layout_width="20dp" 
       android:layout_height="wrap_content"/> 
    <TextView android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="1"/> 
</LinearLayout> 
+0

et si vous voulez les 3 points dans le texte de textView1 montrant que c'est un texte long, vous pouvez ajouter android: ellipsize = "end" – ccheneson

+0

Merci, mais j'en ai besoin si le premier TextView est très petit, le second est juste à côté - je veux [T1 | TextView2 ___] et pas [T1 ___ | TextView2__]. – fhucho

Questions connexes