Próbuję utworzyć niestandardową AlertDialog
, a są dwa przyciski w układzie. Jednak gdy układ przycisków jest zbyt długi, pokazuje tylko pierwsze słowo. Już ustawiłem w xml singleLine = "false"
, ale nic.Tekst przycisku nie z wieloma liniami
Również mam ustawić w kodzie liczbę wierszy dla przycisku, w tym przypadku, 2. Ale gdy tekst nie jest długa, przycisk trzyma duży, nie owijając treści.
Chciałbym, aby przycisk zawinął cały tekst, nawet jeśli jest zbyt długi, przełamując linię tekstu przycisku, a jeśli lewy przycisk osiągnie większą wysokość, ponieważ owija go cały tekst, przycisk na boku ma taką samą wysokość. Wiem, że Android robi to automatycznie, ale nie wiem, dlaczego tak się nie dzieje.
Na obrazku poniżej tekstu w przycisku powinno być „Jest to przycisk test”, ale obcina tekst, a nie zawijać treści bez modyfikowania jego szerokość.
Oto zrzut ekranu jak to wygląda:
Oto xml z tego układu:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_root"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:minWidth="280dip" >
<LinearLayout
android:id="@+id/dialogTitleLayout"
android:orientation="vertical"
android:background="@drawable/header"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
style="@style/DialogText.Title"
android:id="@+id/dialogTitle"
android:paddingBottom="5dp"
android:paddingTop="5dp"
android:paddingLeft="8dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout
android:id="@+id/dialogContentLayout"
android:orientation="vertical"
android:background="@drawable/center"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
style="@style/DialogText"
android:id="@+id/dialogContent"
android:layout_width="270dip"
android:layout_height="wrap_content"
android:paddingLeft="10dp"
android:paddingTop="10dp" />
<LinearLayout
android:id="@+id/buttonsLayout"
android:orientation="horizontal"
android:gravity="center_horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingTop="10dp" >
<Button
android:id="@+id/neutralButton"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/button"
android:textColor="#FFFFFF"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:layout_gravity="center_horizontal"
android:layout_marginRight="90dp"
android:layout_marginLeft="90dp"
android:layout_marginBottom="10dp"
android:singleLine="false" />
<Button
android:id="@+id/positiveButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/button"
android:textColor="#FFFFFF"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:paddingLeft="10dp"
android:layout_weight="1"
android:paddingRight="10dp"
android:layout_margin="10dp"
android:singleLine="false" />
<Button
android:id="@+id/negativeButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/button"
android:textColor="#FFFFFF"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:paddingLeft="10dp"
android:layout_weight="1"
android:paddingRight="10dp"
android:layout_margin="10dp"
android:singleLine="false" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
Dlaczego singleLine = "true" ?? Chcę, aby przerwał linię tekstu przycisku. – rogcg
po ustawieniu singleline = "true" wyświetla cały tekst tylko w jednym wierszu, a przy ustawieniu false działa przeciwnie. może być tekstem przycisku jest za długi, a szerokość przycisku jest mała do tekstu. Była dwie opcje, które musisz zwiększyć szerokość przycisku jak zawartość wrap lub ustawić rozmiar tekstu dwa małe. –
Ale nawet jeśli rozmiar tekstu jest zbyt długi, powinien przerwać linię tekstu, prawda? A przycisk ma szerokość fill_parent. – rogcg