2
votes

Mauvaise position de TextView dans LinearLayout

J'ai deux TextView dans LinearLayout:

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

    <TextView
        android:id="@+id/left_button"
        android:layout_width="0dp"
        android:layout_height="40dp"
        android:layout_margin="4dp"
        android:layout_weight="1"
        android:background="#eeeeee"
        android:gravity="center"
        android:text="Yes"
        android:textColor="#000000" />

    <TextView
        android:id="@+id/right_button"
        android:layout_width="0dp"
        android:layout_height="40dp"
        android:layout_margin="4dp"
        android:layout_weight="1"
        android:background="#eeeeee"
        android:gravity="center"
        android:text="Very long long long long long text"
        android:textColor="#000000" />

</LinearLayout>

Cela ressemble à ceci:  entrez la description de l'image ici

Si je supprime android: gravity = "center" ça a l'air bien. Mais j'ai besoin de l'utiliser. Comment y remédier?


0 commentaires

4 Réponses :


4
votes

Mauvaise position de TextView dans LinearLayout

Vous devez définir android:gravity="center" dans votre LinearLayout

EXEMPLE DE CODE

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:orientation="horizontal">

    <TextView
        android:id="@+id/feedback_binary_left_button"
        android:layout_width="0dp"
        android:layout_height="40dp"
        android:layout_margin="4dp"
        android:layout_weight="1"
        android:background="#eeeeee"
        android:gravity="center"
        android:text="Yes"
        android:textColor="#000000" />

    <TextView
        android:id="@+id/feedback_binary_right_button"
        android:layout_width="0dp"
        android:layout_height="40dp"
        android:layout_margin="4dp"
        android:layout_weight="1"
        android:background="#eeeeee"
        android:gravity="center"
        android:includeFontPadding="false"
        android:text="Very long long long long long text"
        android:textColor="#000000" />

</LinearLayout>

 entrez la description de l'image ici

Cochez également ceci si vous souhaitez copier tout le texte


0 commentaires

0
votes

Je vous suggère d'utiliser weight_sum dans votre LinearLayout , puis d'utiliser une largeur et une hauteur de match_parent , plutôt que de donner les deux EditText une valeur de weight = 50 ou plus ou moins, dépend du texte souhaité.


0 commentaires

1
votes

Essayez ceci

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

    <TextView
        android:id="@+id/left_button"
        android:layout_width="0dp"
        android:layout_height="40dp"
        android:layout_margin="4dp"
        android:layout_weight="1"
        android:background="#eeeeee"
        android:gravity="center"
        android:text="Yes"
        android:textColor="#000000" />

    <TextView
        android:id="@+id/right_button"
        android:layout_width="0dp"
        android:layout_height="40dp"
        android:layout_margin="4dp"
        android:layout_weight="1"
        android:background="#eeeeee"
        android:gravity="center"
        android:text="Very long long long long long text"
        android:textColor="#000000" />

</LinearLayout>

J'ai ajouté android: gravity = "center" au parent LinearLayout


0 commentaires

-1
votes

Essayez ceci -

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_margin="16dp">

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <TextView
            android:text="@string/yes"
            android:textSize="18sp"
            android:layout_margin="10dp"
            android:layout_gravity="center"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
        <TextView
            android:text="@string/very_long_text"
            android:textSize="18sp"
            android:layout_margin="10dp"
            android:layout_gravity="center"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />


    </LinearLayout>

</LinearLayout>


1 commentaires

fill_parent est obsolète