2010-06-18 6 views
3

Je voudrais montrer une image dans la cellule de gauche et du texte dans la cellule de droite d'un tablerow. Mon problème est que la vue de texte flotte en dehors de l'écran visible, donc je ne peux pas voir le texte entier. Le texte devrait casser à l'extrémité droite visible de l'écran. J'ai essayé de définir un maxWidth avec une valeur de pixel mais cela ne fonctionne pas.TableLayout avec des images et du texte

Quelqu'un peut-il offrir une solution à mon problème. Peut-être qu'il y a une meilleure option de mise en page?

ma mise en page définition:

<TableRow> 
    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:tint="#55ff0000" 
     android:src="@drawable/bla"/> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/aboutblaImageText" 
     android:textSize="6pt" 
     android:textColor="#FFF" 
     android:maxWidth="100px"  
     />   
</TableRow> 
+0

ok, la solution semble être d'utiliser une mise en page linéaire imbriquée à la place (version linéaire externe verticale, version linéaire interne horizontale). lire à propos de mauvaises performances, mais cela fonctionne – michbeck

+0

c'est la meilleure solution, nichent dans une linearlayout. – Jorgesys

+0

Pouvez-vous élaborer sur ce que vous entendez par des dispositions linéaires imbriquées? Est-ce que vous enveloppez chaque élément dans le tablerow dans sa propre disposition? – vol

Répondre

0

Ajouter android:shrinkColumns="1" bien à votre TableLayout.

1

Essayez de définir les propriétés stretchColumns et shrinkColumns de la table. Cela a fonctionné pour moi.

<TableLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:stretchColumns="0" 
    android:shrinkColumns="1"> 

Je pris l'idée de la réponse Jonathan Roth dans this poste.

Questions connexes