Jump to content

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)?

Link to comment
Share on other 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.

Link to comment
Share on other 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 ;)

Link to comment
Share on other 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é.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...