I'm trying to create a custom AlertDialog
, and there are two buttons in the layout. However when the button layout is too long it only shows the first word. I' ve already set in the xml singleLine = "false"
, but nothing.
Also I've set in the code the number of lines for the button, in this case, 2. But when the text isn't long, the button keeps big, not wrapping the content.
What I would like to do is to make the button wrap the whole text, even if it is too long by breaking the text line of the button, and if the left button gets a bigger height because it is wrapping its whole text, the button in its side shall be the same height. I know Android does that automatically, bu I dont know why its not happening.
In the image below the text in the button should be "This is a test button", but it cuts the text, and doesn't wrap the content without modify its width.
Here is a screenshot of how it looks like:
Here is the xml of this layout:
<?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>
</LinearLayou开发者_如何学Ct>
</LinearLayout>
edit your button property..
<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" />
android:singleLine="true"
is deprecated.
Use this instead:
android:maxLines="1"
It is probably because you have used the weight property for the buttons.
android:layout_weight="1"
Remove the weight in the buttons and set
android:layout_width="wrap_content"
for the buttons. I think that should do it.
please tell me if it works.
android:singleLine="true"
is deprecated. Use this instead:
android:maxLines="1"
Edit your button property. Like:
<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" />
Change:
android:layout_height="fill_parent"
to:
android:layout_height="wrap_content"
精彩评论