我有一个包含2列的表格。第一列仅包含宽度固定的图像。第二列包含一个文本,该文本可能太短或太长而无法容纳在一行中。

我希望表格完全填满屏幕,但不要超过它。如果需要,文本可以分为多行。同样,两列都应有一些填充。

建议我在第一列中使用权重0,在第二列中使用权重1。

我的表格的第一行是:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
         android:id="@+id/rlMapDetail"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:background="@color/white"
>

<TableRow>
    <ImageView
        android:id="@+id/imgAddress"
        android:layout_width="40dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:src="@drawable/map_address_detail"
        android:layout_weight="0"
        android:padding="5dp"
        />
    <TextView
        android:id="@+id/txtAddress"
        android:textColor="@color/black_gray"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center|left"
        android:singleLine="false"
        android:inputType="textMultiLine"
        android:layout_weight="1"
        android:padding="5dp"
        android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
        />
</TableRow>




TableLayout的总宽度超过了屏幕大小,因此我对表的以下行有问题。

最佳答案

我终于找到解决此问题的方法:

         android:stretchColumns="1"
         android:shrinkColumns="1"


TableLayout

关于android - Android会拉伸(stretch)第二列以填充屏幕,但如果需要,可以多行显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29750163/

10-13 07:54