在Android界面中设置半填充父布局宽度
我试图创建一个表行元素,其中第一行包含一个标题,后跟一个应该一直向右的ImageView。文本视图应填充手机的整个宽度,但末尾的图像视图除外。首先,为您的行使用相对视图。使用典型的ImageView,给它一个id,并使用XML属性在Android界面中设置半填充父布局宽度,android,xml,interface,Android,Xml,Interface,我试图创建一个表行元素,其中第一行包含一个标题,后跟一个应该一直向右的ImageView。文本视图应填充手机的整个宽度,但末尾的图像视图除外。首先,为您的行使用相对视图。使用典型的ImageView,给它一个id,并使用XML属性android:layout\u alignParentRight=“true”。接下来,使用TextView,使用android:layout_-toLeftOf=“@id/myid”,并确保其宽度为“fill\u parent” 编辑:代码标签解决方案取决于环境的某
android:layout\u alignParentRight=“true”
。接下来,使用TextView,使用android:layout_-toLeftOf=“@id/myid”,并确保其宽度为“fill\u parent”
编辑:代码标签解决方案取决于环境的某些细节 如果所有行的格式相同 如果所有行具有相同的列布局,则在TableLayout上设置
android:stretchColumns=“0”
。这将使第一列(索引0)拉伸以填充任何剩余空间
如果标题与其余行的格式不同
如果您有更多的列,或者其他行需要不同的列布局,那么您需要做一些不同的事情。我不相信任何一个项目可以跨越多个列
如果只有定位很重要,并且您实际上不需要跨越多行,那么您可以在每个标题项上使用android:layout\u列
属性。列号以0为基础,因此第一列为0。EclipseLayoutBuilder似乎没有显示此属性,但如果您将其键入xml,它将处理该属性
如果不能将元素放在表的其余部分使用的相同列中,则标头不属于TableRow。正如另一个答案中所建议的,您可以使用RelativeLayout而不是TableRow。或者,您可以将标题移到表外