2011-02-11 10 views
0

Salutations tous,Tableau Android (comme) la mise en page

Je suis en train de créer une mise en page spécifique qui devrait être très simple mais ayant une période très difficile et je me demandais si je pouvais obtenir quelques conseils.

La mise en page Je cherche ressemble à ceci

Text label Text label Text Label 
spinner  Spinner  Edit Text 

Les étiquettes de texte et des colonnes de spinner ne devrait prendre environ 40% de la largeur totale, et l'étiquette de texte et de modifier le texte devrait prendre les 60% restants .

J'ai essayé d'utiliser une disposition de table, mais layout_weight ne semble pas avoir d'effet. La seule façon dont il semble que je puisse définir la largeur est de coder en dur la largeur des éléments (android: width). Devrais-je utiliser une disposition de table pour ceci ou 2 LinearLayouts horizontaux? Je me fous l'esprit ici!

Répondre

0

Il existe de nombreuses façons de créer des mises en page dans Android. Vous pouvez considérer des LinearLayouts imbriqués, dont l'orientation peut être verticale ou horizontale, et vous pouvez assigner des attributs layout_weight à chaque élément qu'ils contiennent. Je ne crois pas que layout_weight est valide en dehors d'un LinearLayout, et donc le meilleur que vous pouvez faire dans un TableLayout est de régler la gravité. Si je comprends votre intention correctement, vous pouvez essayer quelque chose comme ceci:

<!-- this container holds everything --> 
<LinearLayout 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 
    <!-- holds a text label and spinner --> 
    <LinearLayout 
    android:orientation="vertical" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    > 
    <!-- TextView1 goes here --> 
    <!-- Spinner1 goes here --> 
    </LinearLayout> 

    <!-- another one of the same --> 
    <LinearLayout 
    android:orientation="vertical" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    > 
    <!-- TextView2 goes here --> 
    <!-- Spinner2 goes here --> 
    </LinearLayout> 

    <!-- last column, with the label and edit text --> 
    <LinearLayout 
    android:orientation="vertical" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_weight="3" 
    > 
    <!-- TextView3 goes here --> 
    <!-- EditText1 goes here --> 
    </LinearLayout> 
</LinearLayout> 

Vous pouvez trouver plus d'informations sur LinearLayout (et RelativeLayout qui est une bonne alternative pour vous) de http://developer.android.com/resources/tutorials/views/hello-linearlayout.html. Bonne chance!

+0

Merci. Je suis nouveau à la conception de l'interface utilisateur Android et il semble juste que j'utilise LinearLayouts pour TOUT et ils sont partout lol. Mais je suppose que c'est un peu la norme. –

+0

LinearLayouts imbriqués sont mauvais pour la performance –

0

Avez-vous regardé dans son Table Layout essentiellement ce que vous avez besoin

Et tout à fait un exemple simple va here

+0

également ici: http://developer.android.com/guide/topics/ui/layout/grid.html –

Questions connexes