-1
votes

Linearlayout ne montrant pas tous ses enfants

Après avoir créé un linearlayout avec imageview S comme ses enfants, j'ai remarqué que seule la première rangée d'articles est affichée. Je pensais que le linearlayout envelopperait automatiquement ses enfants sur une nouvelle ligne si nécessaire? La largeur semble bien mais pas la hauteur.

résultat attendu

Entrez la description de l'image ici

Blueprint attendu ( imageview Note n'est pas à échelle)

Entrez la description de l'image ici Pour une raison quelconque, lorsque je crée une linearlayout à l'intérieur d'une autre vue, la largeur est montrée correctement, mais elle ne semble jamais ajuster sa hauteur pour s'adapter et afficher tous les enfants à l'intérieur.

Résultat actuel < / strong>

 Entrez la description de l'image ici xxx


0 commentaires

3 Réponses :


0
votes

Un linearlayout horizontal n'enveloppera pas automatiquement à une deuxième ligne pour s'adapter aux enfants. Par la documentation Android, il ne prend en charge qu'une seule direction:

linearlayout est un groupe de vue qui aligne tous les enfants d'un seul direction, verticalement ou horizontalement

Ce que vous pourriez faire est d'utiliser Flexbox-Disposition pour obtenir le comportement d'emballage.


0 commentaires

-2
votes

Ne faites pas de linearlayout horizontal avec 6 ImageView's's

Faites de nouveaux linearlayout verticaux et mettez-la à deux dispositions linéaires horizontales pour chacune 3 imageView.


0 commentaires

0
votes

Ce comportement de linearlayout est "comme prévu": il affichera ses enfants dans une ligne horizontale ou verticale.

Puisque tout l'enfant Voir S dans votre plan de plan semble être de taille similaire, envisager de passer à Gridlayout , il est disponible en tant que bibliothèque Androidx (par exemple, em> androidx.gridlayout: gridlayout: 1.0.0 ).

pour enfant affichage s avec des dimensions variables, flexboxlayout est une bonne alternative. Il a été introduit dans un Publication du blog dans Février 2017. Il existe une version pour Androidx disponible: 'com.google.androidherHFlex:1.1.0'


0 commentaires