2010-10-20 7 views
1

Je souhaite dessiner une table/grille en spécifiant le nombre de colonnes pour chaque ligne et dessiner des cellules de couleurs différentes. Une ligne doit s'étendre sur tout l'écran. Les largeurs de colonnes doivent être les mêmes pour les colonnes de chaque ligne. J'ai essayé d'utiliser TableLayout avec View ou Textviews, mais je n'arrivais pas à comprendre comment je pourrais distribuer les colonnes uniformément pour chaque ligne.Tableau avec un nombre de colonnes et des largeurs de colonne automatiques variables

La grille devrait ressembler à ceci: http://img148.imageshack.us/img148/4239/gridk.png

+0

c'est faisable, jusqu'à la colonne 8. la largeur de ceux-ci ne "s'aligne" pas avec les colonnes de n'importe quelle autre rangée. – drudge

Répondre

1

Je ne sais pas que TableLayout est vraiment ce que vous cherchez, car les colonnes de vos différentes lignes ne sont pas alignées.

En général, si vous souhaitez ajouter un groupe de vues à une rangée et que chacune occupe la même quantité d'espace, vous pouvez définir android:layout_weight = 1 sur chacune des vues.

Par exemple, pour une seule ligne:

<LinearLayout android:layout_width="FILL_PARENT" android:layout_height="WRAP_CONTENT" android:orientation="horizontal"> 
    <TextView android:layout_weight="1"/> 
    <TextView android:layout_weight="1"/> 
    <TextView android:layout_weight="1"/> 
    <TextView android:layout_weight="1"/> 
</LinearLayout> 

Pour les plusieurs lignes, vous pouvez utiliser un LinearLayout avec android:orientation="vertical", ou TableLayout vous pourriez avoir une seule colonne dans votre TableRow.

Questions connexes