Button text not with multiple lines

rogcg picture rogcg · Aug 30, 2011 · Viewed 30.4k times · Source

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:

enter image description here

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>
</LinearLayout>
</LinearLayout>

Answer

Mayur Bhola picture Mayur Bhola · Aug 30, 2011

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" />