Dans android, les mises en page qu'est-ce que le/sens de layout_height=“0dip”
J'ai vu plusieurs exemples d'utilisation de
android:layout_height="0px" ou "0dip" mais je ne comprends pas l'impact de cette. Il semble que permettrait de faire la mise en page 0 pixels de hauteur. Est la valeur mitigés, mais d'autres facteurs comme le "poids" ou de la hauteur de n'importe quel parent vues?
Vous devez vous connecter pour publier un commentaire.
Oui, vous avez bien droit sur le poids, lorsque vous souhaitez que la largeur ou la hauteur pour être contrôlé par le poids de sa convention pour définir cette valeur à 0dip et de laisser le contrôle de poids à la valeur réelle. Même si je suis assez sûr que 0 est juste arbitraire ici vous pouvez mettre n'importe quoi, mais de mettre à 0, votre intention plus claire.
layout_width
oulayout_height
à0px
ou0dip
est un peu plus de performances d'exécution plutôt que de convention. Le paramètre0px
(ou0dip
) va sauter les cycles cpu nécessaire pour la formation initiale de l'initialisation et le point de vue de la largeur/hauteur sera d'apporter les ajustements nécessaires. En résumé, le moment de l'exécution n'aura qu'à calculer la hauteur/largeur une fois, plutôt que 2 fois...Lors de l'utilisation d'un LinearLayout si vous définissez la
layout_weight
à une valeur non nulle et de définir lalayout_height
(oulayout_width
) à 0px ou 0dip puis le LinearLayout distribue non affecté de l'espace, le long de l'axe en fonction de la pondération. Ainsi, par exemple, si vous regardez le schéma ci-dessous le point de Vue avec l'id *gestures_overlay* il alayout_height
0dip etlayout_weight
1 de sorte que le parent LinearLayout étire à remplir l'espace vertical disponible entre les 2 entourant LinearLayouts. Si il y a un autre point de Vue avec la même 0diplayout_height
et unlayout_weight
valeur alors qu'ils partagent la verticale de l'espace en fonction de leurs valeurs de poids.Un exemple pertinent de le développeur officiel docs (http://developer.android.com/guide/topics/ui/layout/linear.html):
À pondération égale, les enfants
Pour créer un linéaire de la mise en page dans laquelle chaque enfant utilise la même quantité d'espace sur l'écran, réglez le android:layout_height de chaque vue de "0dp" (pour une mise en page verticale) ou android:layout_width de chaque vue de "0dp" (pour une mise en page horizontale). Ensuite, réglez le android:layout_weight de chaque point de vue à "1".
Quand nous avons à attribuer poids égal à la vue différents, LINÉAIRES MISE en page
ensuite, nous attribuons mise en page/largeur = 0dp(pour une orientation horizontale) ou de mise en page/hauteur = 0dp(pour l'orientation verticale) et Vue d'ensemble /poids ==1 pour chaque vue à l'intérieur qu'Linéaire de la Mise en page.
Avantage::::
-- sur l'attribution de la largeur ou de la hauteur de 0dp alors il n'ont pas d'impact et en raison de poids==1 tous la vue occupe le même espace et couvert l'ensemble de la taille de l'écran.