1
votes

Android: layout_weight est-il uniquement pour LinearLayout ou vous pouvez également l'utiliser dans RelativeLayout?

Si Android: layout_weight est uniquement pour LinearLayout Pourquoi?


0 commentaires

3 Réponses :


1
votes

Lisez Épaisseur de la mise en page

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.


1 commentaires

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?



0
votes

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


1 commentaires

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?



1
votes

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


1 commentaires

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?