我試圖創建一個自定義AlertDialog
,並且在佈局中有兩個按鈕。但是,如果按鈕佈局太長,它只會顯示第一個單詞。我已經在xml singleLine = "false"
中設置,但沒有。沒有多行的按鈕文本
此外,我已經在代碼中設置了按鈕的行數,在這種情況下,2.但是,當文本不長,按鈕保持大,不包裝內容。
我想要做的是讓按鈕包裹整個文本,即使通過打破按鈕的文本行太長,並且如果左邊的按鈕由於它包裹整個文本而獲得更大的高度文本,其側面的按鈕應該是相同的高度。我知道Android會自動執行此操作,但我不知道爲什麼它不會發生。
在下面的圖片中,按鈕中的文本應該是「這是一個測試按鈕」,但它會剪切文本,並且不會在不修改其寬度的情況下包裝內容。
這裏是它的外觀像一個截圖:
下面是這個佈局的XML:
<?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>
爲什麼singleLine =「true」?我想讓它打破按鈕的文本行。 – rogcg
當你設置singleline =「true」時,它僅在單行顯示整個文本,而你設置爲false它的作用與之相反。 可能是您的按鈕文本太長,按鈕寬度對文本而言很小。 有兩個選項需要增加你的按鈕寬度像包裝內容或設置文本大小兩個小。 –
但是,即使文本大小太長,也應該打破文本行,對嗎?該按鈕的寬度爲fill_parent。 – rogcg