自动换行 - Android TextView

时间:2014-08-17 22:30:58

标签: android textview

在有人说我应该谷歌之前,我想指出我做了然后我尝试了所有不同的方法来看看什么会起作用,什么都没有为我做。所以,现在丑陋的生意已经解决了我的问题......:)

我似乎无法获得一个文本视图来包装我。不知道为什么。这是我的布局XML代码。它是一个表格布局,将用于另一个xml布局中的列表视图。

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TableRow
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <TextView
            android:id="@+id/ot_color_priority"
            android:layout_height="fill_parent"
            android:layout_width="20dp"
            android:gravity="center_vertical"/>
        <RelativeLayout>
            <TextView
                android:id="@+id/ot_ticket_number"
                android:layout_height="wrap_content"
                android:layout_width="match_parent"
                android:gravity="center"
                android:textStyle="bold"/>
                <TextView
                    android:id="@+id/ot_ticket_details"
                    android:layout_alignParentBottom="@id/ot_ticket_number"
                    android:layout_height="wrap_content"
                    android:layout_width="300dp"
                    android:layout_marginTop="15dp"
                    android:scrollHorizontally="false"
                    android:ellipsize="none"
                    android:maxLines="10"
                    android:text="This is a long dang string that never wants to freaking wrap worth a crap!"/>
        </RelativeLayout>
    </TableRow>
</TableLayout>

textview中的数据只是继续向右侧屏幕注销。我不能把它包起来。我似乎能让它工作的唯一方法是将DP值设置为layout_width。我不想这样做,因为它将用于不同的设备屏幕分辨率,我担心以后可能会导致一些问题。

所以请有人帮助我:(

2 个答案:

答案 0 :(得分:3)

您应该将android:shrinkColumns="1"设置为TableLayout

它将缩小由RelativeLayout占用的第二列。

答案 1 :(得分:1)

可能你的RelativeLayout没有指定任何宽度,所以它默认为&#34; WRAP_CONTENT&#34; :

http://developer.android.com/reference/android/widget/RelativeLayout.html#generateDefaultLayoutParams()

我还应该指出,在TextView中你有一个孩子的&#34; match_parent&#34;宽度,但相对布局将位于具有&#34; 20dp&#34;的元素旁边。宽度。

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TableRow
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <TextView
            android:id="@+id/ot_color_priority"
            android:layout_height="fill_parent"
            android:layout_width="20dp"
            android:gravity="center_vertical"/>

        <!-- this is the problem, the layout has no parameters set    -->
        <RelativeLayout>
            <TextView
                android:id="@+id/ot_ticket_number"
                android:layout_height="wrap_content"
                android:layout_width="match_parent"
                android:gravity="center"
                android:textStyle="bold"/>
                <TextView
                    android:id="@+id/ot_ticket_details"
                    android:layout_alignParentBottom="@id/ot_ticket_number"
                    android:layout_height="wrap_content"
                    android:layout_width="300dp"
                    android:layout_marginTop="15dp"
                    android:scrollHorizontally="false"
                    android:ellipsize="none"
                    android:maxLines="10"
                    android:text="This is a long dang string that never wants to freaking wrap worth a crap!"/>
        </RelativeLayout>
    </TableRow>
</TableLayout>