如果文本需要在android> 4.0上换行下一行,则不会在对话框中显示正确的文本

时间:2013-09-23 13:38:27

标签: android android-layout

我有一个自定义对话框,我在标题栏中显示一些文字。在android 4.0中,它是截断文本。只有...出现在下一行。我正在膨胀跟随xml到对话框。它在3.2上工作正常。

我已经尝试过layout_weight =“1”并且还尝试了android:ellipsize =“none”但是没有任何工作

<LinearLayout
    android:layout_height="fill_parent"
    android:weightSum="1"
    android:orientation="vertical"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:android1="http://schemas.android.com/apk/res/android"
    android:background="@drawable/rounded_textbox_base"
    android1:layout_width="fill_parent"
    android1:minWidth="500dp">
    <TableRow
        android:id="@+id/tableRow1"
        android1:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/rounded_button"
        android1:gravity="center"
        android:layout_weight="1">
        <TextView
            android:id="@+id/tv_nmp_needmore"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dp"
            android:layout_marginTop="10dp"
            android1:layout_marginLeft="20dp"
            android1:layout_marginRight="20dp"
            android:ellipsize="none"
            android:text=""
            android:textAppearance="?android:attr/textAppearanceLarge"
            android1:gravity="center"
            android1:textColor="@color/white" >
    </TextView>
    </TableRow>
    <LinearLayout
        android:id="@+id/linearLayout1"
        android:weightSum="1"
        android:layout_marginBottom="30dp"
        android:layout_marginTop="50dp"
        android1:layout_gravity="center"
        android1:gravity="center"
        android1:layout_width="wrap_content"
        android1:layout_height="wrap_content">
        <Button
            android:layout_height="wrap_content"
            android:id="@+id/btn_nmp_yes"
            android:background="@drawable/dialog_ok_button"
            android:layout_width="wrap_content">
        </Button>
        <TextView
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:id="@+id/textView1"
            android:text="OK"
            android:textStyle="bold"
            android:layout_marginLeft="20dp"
            android1:textColor="#000000">
        </TextView>
    </LinearLayout>
</LinearLayout>

谢谢, 和Manish

1 个答案:

答案 0 :(得分:0)

您可以使用:

<TextView
    android:id="@+id/text" 
    android:layout_width="match_parent"
    android:layout_height="wrap_content"  
    android:maxLines="2"/>

限制在ui元素之间包装的行数,或者您可以在高度或宽度上有一些固定尺寸。它将使用“...”截断文本视图,但是使用此方法无法控制何时断行。它可以截断一个单词。

第二种方法是在做一些textView.setText(...)之前自己构造字符串。您只需要确定所需字符的最大数量,然后在需要的地方截断字符串,并在需要断行时添加“\ n”。