Aller au contenu

relativelayout


friwlaa

Recommended Posts

Bonjour,

Je suis entrain de développer la 1ère application que j'estime "sophistiquée" puisque je suis encore novice ds le dév android. En effet mon app est composée de plusieurs onglets, chacun contient du texte, des boutons...

Le problème est que je veux plutôt utiliser le relativelayout que le linearlayout pour pouvoir placer mes widgets ds les fichiers .xml comme je veux. En modifiant mon main.xml (mettre relativelayout au lieu de linearlayout) le programme ne fonctionne plus, et si je modifie les .xml des onglets le programme ne prend pas en considération ces modifications et m'affiche un ancien résultat(avec linearlayout), mais jamais 3 boutons sur la même ligne et du texte dans la ligne qui suit.

Sachant que j'ai déjà essayé un exemple avec relativelayout et j'ai eu un bon résultat. Qu'est ce que vous me suggérer de faire? merci pour votre réponse

une autre question, comment mettre de l'espace entre mes widgets et faire une sorte d'un retour à la ligne (c comme le /n en C)?

Lien vers le commentaire
Partager sur d’autres sites

Salut.

La question est un peu vague.

Avec les RelativeLayout, la logique est tout autre qu'avec les LinearLayout. Avec LinearLayout, l'alignement se fait en créant plusieurs LinearLayout et en jouant avec les attributs d'orientation, de gravité, etc... bref tu connais déjà

Par contre, avec les RelativeLayout, tu n'en crées généralement qu'un (ou en tout cas bien moins que des LinearLayout). L'alignement des widgets se fait ensuite en utilisant des attributs tels que

  • android:layout_toRightOf
  • android:layout_alignBaseLine
  • android:layout_below

etc... Tu alignes les widgets par rapport aux autres widgets. Par exemple, je veux que le widget X soit situé en dessous du widget Y, que sa base soit aligné avec celle du widget Z, qu'il se situe à droite du widget Z, et ainsi de suite....

Si tu veux des explications détaillées par rapport à ton projet, postes ton code.

Sinon, pour insérer de l'espace entre tes widgets, tu peux utiliser les attributs de padding ou utiliser des widgets View pour créer des espaces vides.

Lien vers le commentaire
Partager sur d’autres sites

Salut

Je crois que dans ton cas, ça ne marche pas car tu essayes de changer le LinearLayout de base de ton layout par un RelativeLayout. Or, je crois qu'il est impossible de changer le layout racine qui doit toujours être un Linear. Si tu veux passer par un Relative, alors insères le dans ton Linear racine et configures le en "fill_parent" en largeur et en hauteur.

Walou, j'espère que c'était ça ta question ;)

Lien vers le commentaire
Partager sur d’autres sites

Faux. Le layout racine peut très bien être un RelativeLayout ou un TableLayout ou encore un FrameLayout. Le problème ne vient pas de là.

Par contre, s'il ne fait que changer le premier Linear en un Relative, c'est clair que ça ne va pas marcher, car le reste doit être adapté.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...