我正在尝试创建自定义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>
答案 0 :(得分:16)
编辑您的按钮属性..
<Button
android:id="@+id/neutralButton"
android:layout_width="wrap_content"
android:background="@drawable/button"
android:textColor="#FFFFFF"
android:textSize="10dp"
android:layout_gravity="center_horizontal"
android:singleLine="true" />
答案 1 :(得分:7)
android:singleLine="true"
已弃用。
请改用:
android:maxLines="1"
答案 2 :(得分:3)
可能是因为您使用了按钮的权重属性。
android:layout_weight="1"
删除按钮中的重量并设置
android:layout_width="wrap_content"
按钮。我认为应该这样做。
请告诉我它是否有效。
答案 3 :(得分:0)
android:singleLine="true"
已过时。改用它:
android:maxLines="1"
编辑按钮属性。喜欢:
<Button
android:id="@+id/neutralButton"
android:layout_width="wrap_content"
android:background="@drawable/button"
android:textColor="#FFFFFF"
android:textSize="10dp"
android:layout_gravity="center_horizontal"
android:maxLines="1" />
答案 4 :(得分:0)
更改:
android:layout_height="fill_parent"
收件人:
android:layout_height="wrap_content"