Le principe du RelativeLayout est de placer les éléments selon d’ autres éléments du conteneur.
Voici les différents moyens qui sont à votre disposition pour le placement des éléments dans le cas d’un RelativeLayout :

Positionnement relatif au conteneur

Dans cette relation, vous pouvez lier un élément à son conteneur :

  • android:layout_alignParentTop (true / false) : Cette option permet de préciser si le haut de l’élément doit être aligné avec celui de son conteneur.
  • Même principe pour : android:layout_alignParentBottom, android:layout_alignParentLeft et android:layout_alignParentRight.
  • android:layout_centerHorizontal : Indique si l’élément doit être centré horizontalement dans son conteneur.
  • Même principe pour : android:layout_centerVertical.
  • android:layout_centerInParent : Vous permet d’indiquer que l’élément doit être centré horizontalement et verticalement dans le conteneur.

Position relative aux autres éléments

Afin de pouvoir référencer le positionnement d’un élément par rapport à un autre, vous disposez d’un moyen simple et efficace, il s’agit des identificateurs (ID).

Donc voilà comment vous pouvez utiliser un ID :

  • A la déclaration d’un élément : android:id= “@+id/idElem”
  • A l’utilisation : @id/idElem

Maintenant que les bases sont posées, voici les différentes options disponibles :

  • android:layout_above : Indique que l’élément sera placé au-dessus de celui indiqué par son id.
  • android:layout_below : Indique que l’élément sera placé en dessous de celui indiqué par son id.
  • android:layout_toLeftOf : Indique que l’élément sera placé à gauche de celui indiqué par son id.
  • android:layout_toRightOf : Indique que l’élément sera placé à droite de celui indiqué par son id.
  • android:layout_alignTop : Indique que le haut de notre élément est aligné avec le haut de l’élément indiqué.
  • android:layout_alignBottom : Indique que le bas de notre élément est aligné avec le bas de l’élément indiqué.
  • android:layout_alignLeft : Indique que le côté gauche de notre élément est aligné avec le côté gauche de l’élément indiqué.
  • android:layout_alignRight : Indique que le côté droit de notre élément est aligné avec le côté droit de l’élément indiqué.
  • android:layout_alignBaseLine : Indique que les lignes de base des 2 éléments sont alignées.

On peut bien sur référencer un élément qui sera déclaré plus tard dans le fichier XML (Layout).

On va prendre un exemple pour tout expliquer :

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 >

<EditText android:id="@+id/nomEdit" android:hint="Entrez votre nom ici"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_alignParentRight="true" android:layout_alignParentTop="true" />

<EditText android:id="@+id/prenomEdit" android:hint="Entrez votre prenom ici"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_alignParentRight="true" android:layout_below="@id/nomEdit" />

<Button android:id="@+id/valider" android:text="valider"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/prenomEdit" android:layout_alignRight="@id/prenomEdit" />

<Button android:id="@+id/annuler" android:text="annuler"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_toLeftOf="@id/valider" android:layout_alignTop="@id/valider" />

</RelativeLayout>

Et voici le résultat :

Conclusion

Voilà en espérant que ce tutoriel vous a aidé à comprendre le RelativeLayout et à savoir dans quel cas l’utiliser.

Categories: Tutoriels

13 Responses so far.


  1. tarek dit :

    Bonjour,
    C’est un bon tuto, mais je vois pas de logique dans l’utilisation de

     android:layout_alignRight="@id/prenomEdit"

    dans le bouton valider, serait t’il mieux d’utiliser

    layout_alignParentRight =true
  2. Patsou dit :

    Bonjour cher ami,
    Tout d’abord nous vous remercions de la clarté des tutos
    j’ai une question?
    Comment peut-on enregistrer une carte google maps dans une application android a telle enseigne que l’utilisateur n’ait pas tout le temps besoin de se connecter pour voir les points sur sa carte.En plus comment écrire une application qui montre les rues qui lient un point A à un point B sur une carte.
    Merci
    SVP c urgent

  3. xou dit :

    Est-il possible d’adapter la taille des deux boutons (uniformément) à toutes la taille de l’écran ?

    • Benbourahla Nazim dit :

      Bonjour,

      Pour que la taille de tes boutons soit la même quelques soit le téléphone, il faut utiliser des “dp” quand tu spécifie la taille des boutons.

      Cordialement

  4. smida dit :

    comment faire avec le dossier main.java

  5. neoffreeman dit :

    Bravo un tuto clair et utile.

    Juste une question, est-ce qu’il est possible de mettre 2 boutons en bas l’application sur la même ligne et avec un coller à droite de l’écran et l’autre coller à gauche de l’écran ?

    • Benbourahla Nazim dit :

      Merci,

      oui il suffit de mettre un android:layout_alignParentBottom et des android:layout_alignParentRight et android:layout_alignParentLeft

Leave a Reply


Notifiez-moi des commentaires à venir via email. Vous pouvez aussi vous abonner sans commenter.