Si Android: layout_weight
est uniquement pour LinearLayout
Pourquoi?
3 Réponses :
Lisez Épaisseur de la mise en page strong >
Cet attribut attribue une valeur "d'importance" à une vue en termes d'espace qu'elle doit occuper à l'écran. Une valeur de poids plus élevée lui permet de s'étendre pour remplir tout espace restant dans la vue parent. Les vues enfants peuvent spécifier une valeur de pondération, puis tout espace restant dans le groupe de vues est attribué aux enfants dans la proportion de leur poids déclaré. Le poids par défaut est zéro.
Une mise en page relative affiche ses vues les unes par rapport aux autres, l'ordre n'est donc pas si important.
Merci beaucoup pour votre réponse, alors que faire si je veux insérer un EditText (et il augmente à droite en fonction de la taille de l'écran par exemple lorsque nous écrivons un e-mail, il augmente (la boîte) donc vous voulez dire chaque fois qu'il y a EditText devrait être placé dans le LinearLayout? afin que nous puissions appliquer layout_weight? et nous ne pouvons pas utiliser EditText dans RelativeLayout?
RelativeLayout n'a pas de propriété de pondération, mais ConstraintLayout a des propriétés de pondération comme LinearLayout.
layout_constraintHorizontal_weight
layout_constraintVertical_weight
Merci beaucoup pour votre réponse, alors que se passe-t-il si je veux insérer à EditText (et cela augmente à droite en fonction de la taille de l'écran par exemple lorsque nous écrivons un e-mail, cela augmente (la boîte) donc vous voulez dire chaque fois qu'il y a EditText devrait être placé dans le LinearLayout? afin que nous puissions appliquer layout_weight? et nous ne pouvons pas utiliser EditText dans RelativeLayout?
android: layout_weight est la propriété de LinearLayout et il hérite de cette propriété à son enfant donc dans votre cas, si votre enfant est RelativeLayout, nous pouvons utiliser android: layout_weight avec RelativeLayout.
voir ci-dessous exemple
<androidx.appcompat.widget.LinearLayoutCompat android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:layout_centerInParent="true"> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1"/> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1"/> </androidx.appcompat.widget.LinearLayoutCompat>
C'EST TOUT
Merci beaucoup pour votre réponse, alors que se passe-t-il si je veux insérer à EditText (et cela augmente à droite en fonction de la taille de l'écran par exemple lorsque nous écrivons un e-mail, cela augmente (la boîte) donc vous voulez dire chaque fois qu'il y a EditText devrait être placé dans le LinearLayout? afin que nous puissions appliquer layout_weight? et nous ne pouvons pas utiliser EditText dans RelativeLayout?