表格行中的多行文本视图未正确包装

Mac*_*ver 5 xml android textview android-tablelayout

我试图让我的文本视图文本在表格行中显示在多行上,但由于某种原因它没有正确包装,我最终得到了这个(见截图).我知道文本视图有一些事情要做,但我不知道是什么导致了这个问题.如何解决此问题?

截图

在此输入图像描述 在此输入图像描述

列表项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>
        <ImageView
            android:id="@+id/img"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_gravity="center_vertical" />

        <TextView
            android:id="@+id/txt"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_marginStart="15dp"
            android:layout_marginEnd="15dp"
            android:singleLine="false"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    </TableRow>
</TableLayout>
Run Code Online (Sandbox Code Playgroud)

Ser*_*kov 23

你需要指定android:layout_weight="1".

此值告诉给TableRowTextView就是需要相当于match_parent

<?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
            >
        <ImageView
                android:id="@+id/img"
                android:layout_width="50dp"
                android:layout_height="50dp"
                android:layout_gravity="center_vertical"/>

        <TextView
                android:id="@+id/txt"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_marginStart="15dp"
                android:layout_marginEnd="15dp"
                android:layout_weight="1"
                android:text="This is a long long long long text fodshfkjsdkjfjsh js hdfjksh kjdhf kjshdkjf"
                android:textAppearance="?android:attr/textAppearanceLarge"/>
    </TableRow>
</TableLayout>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • 我想如果你使用`weight`,`layout_width`应该是'0dp`. (4认同)