2010-08-10 7 views
3

Je me demandais s'il est possible de définir une marge automatique/dynamique (remplissage?) Entre les éléments dans une mise en page Android sans avoir à le faire par programme? Par exemple, disons qu'il existe un LinearLayout horizontal qui est défini sur android:layout_width="fill_parent" et qui contient cinq éléments. Existe-t-il un paramètre qui partage de façon égale l'espace vide restant du LinearLayout avec les marges des éléments enfants?Marge automatique/dynamique dans la disposition Android

Voir image au http://img63.imageshack.us/img63/8/margin.png

Merci pour toute aide!

Répondre

0

Yup. Seuls LinearLayouts le supportent. C'est appelé mise en page poids

Rechercher LinearLayout à http://developer.android.com/guide/topics/ui/layout-objects.html

Pour une bonne intro, regarder here

+0

Pouvez-vous donner un exemple de la mise en page XML? Je pensais que l'attribut weight donnait une partie de l'espace restant à un élément. Je parlais des marges cependant. –

1

Vous pouvez utiliser des entretoises de vue que votre marge, avec le poids de mise en page mis sur eux.

<LinearLayout ...> 
    <View id=marginLeft android:layout_weight="1"/> 

    <Element1/> 
    <Element2/> 
    <Element3/> 
    <Element4/> 
    <Element5/> 

    <View id=marginRight android:layout_weight="1"/> 
</LinearLayout> 

Ceci devrait faire en sorte que les deux vues utilisent tout espace restant dans votre rangée. Remarque, le XML ci-dessus ne sera pas analyser :)

- Modifier

Je viens de voir l'image. Pour ajouter un espacement égal entre chacun des éléments, il suffirait d'ajouter plus d'éléments d'espacement entre vos éléments de contenu (tous avec le même poids)

+0

Cool. Que diriez-vous de quand nous voulons des marges négatives? – George

+0

@George http://stackoverflow.com/questions/10673503/is-it-a-bad-practice-to-use-negative-margins-in-android – ataulm

Questions connexes