【发布时间】:2011-07-13 16:59:44
【问题描述】:
我正在尝试创建一个表格行元素,其中第一行包含一个标题,后跟一个应该一直向右的 ImageView。 TextView 应该填满手机的整个宽度,除了最后的 ImageView。
【问题讨论】:
我正在尝试创建一个表格行元素,其中第一行包含一个标题,后跟一个应该一直向右的 ImageView。 TextView 应该填满手机的整个宽度,除了最后的 ImageView。
【问题讨论】:
首先,为您的行使用 RelativeLayout。使用典型的 ImageView,给它一个 id,并使用 XML 属性android:layout_alignParentRight="true"。接下来,使用 TextView,使用android:layout_toLeftOf="@id/myid" 并确保它的宽度为"fill_parent"。
编辑:代码标签
【讨论】:
解决方案取决于具体情况。
如果所有行的格式相同
如果所有行的列布局相同,则在 TableLayout 上设置android:stretchColumns="0"。这将使第一列(索引 0)拉伸以填充任何剩余空间。
如果标题与其余行的格式不同
如果您有更多列或需要为其余行使用不同的列布局,那么您需要做一些不同的事情。我不相信任何单个项目可以跨越多个列。
如果只有定位很重要并且您实际上不需要跨越多行,则可以在每个标题项上使用android:layout_column 属性。列号是从 0 开始的,所以第一列是 0。Eclipse 布局构建器似乎没有显示此属性,但如果您将其键入 xml,它会处理该属性。
如果您无法将元素放入表格其余部分使用的相同列中,则标题不属于 TableRow。正如另一个答案中所建议的,您可以使用 RelativeLayout 而不是 TableRow。或者,您可以将表头移到表格之外。
【讨论】: