Pourquoi ma disposition relative occupe-t-elle la largeur de l'écran complet J'ai spécifié la disposition relative à "Wrap_Content", alors pourquoi occupe-t-il l'espace complet. Out Met est identique même si je dis Android: Layout_width = "Fill_Parent". p> éclairer moi s'il vous plaît! P> Edit: je pense que je n'était pas très clair avec ma question plus tôt. Excuses pour cela.
Lorsque j'ai 2 vues sur les enfants dans une mise en page relative et que l'une d'entre elles est laissée alignée sur le parent et d'autres est une largeur de mises en page consiste à être alignée et que la largeur des mises en page est alors que je m'attendais à ce que la largeur des mises en page soit juste la somme de la largeur de 2 boutons (n'est pas C'est ce que Wrap_Content signifie ??). Je sais qu'il y a d'autres moyens d'atteindre l'interface utilisateur de la recherche de l'interface utilisateur, mais j'essaie simplement de comprendre correctement ces étiquettes de mise en page relatives correctement. P> EDIT 2: J'ai expérimenté un peu et on dirait si nous utilisons layout_alighparentright avec son La largeur du parent comme enveloppe_content puis la largeur de présentation supérieure est utilisée pour calculer (comme quelques réponses indiquées ci-dessous). Mais nous utilisons juste layout_alignparentleft, alors cela fonctionne comme prévu et la largeur de la mise en page ne s'étend pas à l'écran complet. Merci pour les personnes d'aide! P> p>
4 Réponses :
Cette ligne fait la touche "Appuyez ici" ( BOUTON01 CODE>) Aligner sur la droite:
android:layout_alignParentRight="true"
Parce que vous avez une largeur
android:layout_alignParentRight="true"
Merci pour la réponse, mais ce n'est pas très clair pour moi. Dites-vous que si nous utilisons layout_alignparentexxxx et la largeur des parents est Wrap_Content, la largeur de la mise en page supérieure (parent) est utilisée pour calculer ?? Est-ce vrai?
Mon expérience m'a dit que, mais vous pouvez l'essayer, mettre un autre linearlayout supérieur avec une largeur par exemple de 50DIP et voir le résultat :)
J'ai expérimenté un peu et on dirait que si nous utilisons layout_alighparentright avec la largeur de son parent comme Wrap_Content, la largeur de la disposition supérieure est ensuite utilisée pour le calcul (comme vous l'avez souligné). Mais nous utilisons juste layout_alignparentleft, alors cela fonctionne comme prévu et la largeur de la mise en page ne s'étend pas à l'écran complet. Merci pour l'aide de Quiroga!
Les autres réponses ont été correctement signalées que lorsque la largeur de votre présentation relative est définie sur Maintenant, si vous voulez que les deux boutons soient placés à côté de l'autre, et la disposition relative doit être aussi large que la somme des largeurs des boutons, une approche légèrement différente est nécessaire. Au lieu de positionner les deux boutons par rapport au parent, faites-le avec un seul bouton (E.g, le premier). Disons que son positionnement est laissé inchangé ( Pour plus, je vous suggère de consulter un tutoriel très sympathique sur mises en page relative . P> wrap_content code>, et ses enfants sont alignés à gauche et à droite, la disposition relative prend la largeur de son parent Ce cas, l'écran entier. Si, toutefois, les deux enfants étaient alignés d'un côté, la disposition relative serait aussi large que l'enfant le plus large. P>
android: layout_alignparentright = "vrai" code>). Maintenant, le bouton est flotté à droite, donc le second bouton, afin d'être situé à côté de celui-ci, doit être aligné sur le côté gauche du premier bouton. Ainsi, nous allons simplement ajouter
android: layout_toleftof = "@ id / bouton01" code> (et supprimez le
android: layout_alignparentleft = "vrai" p> pièce). P>
Merci pour la réponse ERNESTA! Cela a fait des choses un peu claires maintenant. Mais je suis toujours frappé un peu avec pourquoi les mises en page relatives à la suite de la largeur de son parent si ses enfants sont alignés sur les bords gauche et droit. Et hey félicitations pour atteindre le siècle sur la réputation !!
Merci :). Pensez-y de cette façon: wrap_content code> signifie être aussi large que l'espace pris par ses enfants. I> MAINTENANT Si vous prenez un enfant et dites
Alignparentright Code>, Il est censé aller au tout droit de son parent. Mais quelle est la largeur du parent? Eh bien, aussi large que l'espace pris par ses enfants. I> En d'autres termes, le parent laisse la décision de sa largeur à ses enfants. Et les enfants ne sont pas contraints par leur parent, ils vont donc jusqu'au bout - qui est le conteneur du parent.
Bonjour, quelqu'un a une idée de cette approche dans Xamarin formes xaml?
Un autre problème que vous pouvez affronter est que si vous définissez vos 2 enfants à "aligner le parent droit" + "wrap_content", ainsi que votre mise en page relative sur "wrap_content", et que la mise en page relative est contenue dans un écran complet linéarlayout votre disposition relative. occupera toute la largeur linéarlayout. p>
Si vous le faites avec les deux "Aligner parent", les bâtons de présentation relative à gauche et sa largeur est vraiment une "teneur enrôles". Mais le comportement est différent pour "aligner le droit parent", c'est un peu étrange. P>
Pour résoudre ce problème (je devais aligner l'un des enfants à droite), je fixais les 2 enfants à "Aligner le parent" et joué avec des enfants rembourrés afin d'obtenir l'un des enfants positionnés sur le dessus le coin droit. C'est une solution de contournement sale mais le seul que j'ai trouvé pour l'instant. P>
Une autre astuce serait de mettre 2 linearlayout à l'intérieur d'un framelayout, puis de mettre vos vrais enfants dans chaque linearlayout et de jouer avec la gravité de ces linearlayout pour positionner les enfants à la bonne position. P>