92 votes

Un moyen simple de faire une mise en page dynamique mais carrée

J’utilise un pour afficher un tas de vues qui sont essentiellement . Je veux que tout soit carré, mais je veux aussi qu’ils soient dimensionnés dynamiquement - c’est-à-dire qu’il y a deux colonnes et que je veux que le s’étire en fonction de la taille de l’écran mais reste carré. Existe-t-il un moyen de le faire via la `` disposition ou dois-je définir les hauteurs et les largeurs par programme ?

116voto

jdamcd Points 1810

Une solution soignée pour les éléments carrés est d’étendre ou et de remplacer comme ```` suit:

85voto

Himanshu Chauhan Points 576

Avec le nouveau ConstraintLayout introduit dans Android Studio 2.3, il est maintenant assez facile de créer des dispositions réactives.

Dans un ConstraintLayout parent, pour rendre l’une de ses vues/dispositions enfants dynamiquement carrée, ajoutez cet attribut

w consiste à spécifier des contraintes en termes de largeur et le rapport 1:1 garantit la disposition carrée.

45voto

Fernando Camargo Points 1046

Je l’ai fait de cette façon:

Avec cette implémentation, votre disposition sera carrée, en supposant la taille inférieure entre la largeur et la hauteur. Et il peut même être défini avec des valeurs dynamiques, comme l’utilisation de poids à l’intérieur d’un LinearLayout.And it can even be set with dynamic values, like using weight inside a LinearLayout.

9voto

passerbywhu Points 179

Nous pouvons le faire d’une manière très simple - il suffit d’appeler `` deux fois.

En appelant `` deux fois, cela est moins efficace en termes de processus de dessin, mais c’est un moyen simple de résoudre les problèmes de mise en page que les autres réponses peuvent causer.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X