Je fais du XML pour une application Android.

J'ai des images, du texte et des boutons dans ma vue.

J'ai utilisé une disposition linéaire, mais je pense que ce n'est pas ce dont j'ai besoin.

Je voudrais régler mon dernier bouton à 80 dp à partir de l'écran inférieur. Quels que soient le smartphone et la taille de l'écran. Je veux que mon bouton soit à 80 dp du bas de tous les appareils.

Je ne sais pas comment faire si quelqu'un peut m'aider ça pourrait être cool!

J'ai essayé avec un LinearLayout mais je pense que je ne peux pas le faire.

Maintenant, j'essaie avec un constraintLayout mais je ne suis pas sûr que cela fonctionnera.

Merci

0
Mathieu Heuzey 16 nov. 2017 à 12:34

4 réponses

Meilleure réponse

C'est l'une des façons d'atteindre votre objectif en utilisant la disposition relative en tant que parent:

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

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Bottom Button"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="80dp"/>

</RelativeLayout>
1
Sara Tirmizi 16 nov. 2017 à 09:53

Vous pouvez le faire avec RelativeLayout et layout_alignParentBottom jeter un œil à ceci:

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

<TextView
    android:id="@+id/textview1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="textview1"/>


<ImageView
    android:layout_width="20dp"
    android:layout_height="20dp"
    android:layout_below="@+id/textview1"/>

<Button
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:text="Button"
    android:layout_marginBottom="80dp"
    android:layout_alignParentBottom="true"/>

 </RelativeLayout>
0
Nawrez 16 nov. 2017 à 10:19

J'ai finalement trouvé une solution avec la mise en page de contraintes.

J'utilise app: layout_constraintBottom_toBottomOf pour aligner mon bouton au bas de mon écran, puis j'utilise un marginBottom. Merci à tous pour votre réponse, je vais l'essayer avec une mise en page relative :)

0
Mathieu Heuzey 16 nov. 2017 à 10:22

Utilisez la mise en page relative comme mise en page parente et non la mise en page linéaire, puis utilisez ce code AJOUTER des vues à l'intérieur de cette mise en page relative, tout ce que vous voulez ajouter, comme Textview, etc.

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

        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Button at bottom"
            android:layout_alignParentBottom="true"
            android:layout_marginBottom="80dp"/>

    </RelativeLayout>
0
Waqar Ahmad 16 nov. 2017 à 10:07
47326059