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>
Si je supprime android: gravity = "center"
ça a l'air bien. Mais j'ai besoin de l'utiliser. Comment y remédier?
4 Réponses :
Mauvaise position de TextView dans LinearLayout
Vous devez définir
android:gravity="center"
dans votreLinearLayout
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>
Cochez également ceci si vous souhaitez copier tout le texte
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 code> une valeur de
weight = 50
ou plus ou moins, dépend du texte souhaité.
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
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>
fill_parent
est obsolète