非对称android TableLayout拉伸(某些)列
我为一个非对称android TableLayout拉伸(某些)列,android,tablelayout,stretched,Android,Tablelayout,Stretched,我为一个活动编写了下面的布局,只有一个标题和四个2x2格式的按钮: 标题图像不如行的两个按钮(加上填充)宽。我的问题是,每行中的第一个按钮图像是水平拉伸显示的。规范化非对称表的方法是什么 v、 2在地鼠之后 真管用!Eclipse说:“这个LinearLayout布局或它的TableRow父级是无用的”,但对我来说没关系。我不会告诉客户的 你所看到的屏幕截图会有所帮助 ImageView未填充整个表格 在tablelayout属性中,尝试指定android:stretchColumns
活动
编写了下面的布局,只有一个标题和四个2x2格式的按钮:
标题图像不如行的两个按钮(加上填充)宽。我的问题是,每行中的第一个按钮图像是水平拉伸显示的。规范化非对称表的方法是什么
v、 2在地鼠之后
真管用!Eclipse说:“这个LinearLayout布局或它的TableRow父级是无用的”,但对我来说没关系。我不会告诉客户的 你所看到的屏幕截图会有所帮助 ImageView未填充整个表格 在tablelayout属性中,尝试指定
android:stretchColumns=“*”
,这将允许列拉伸以填充表格。我相信如果所有的列都被允许拉伸(如*所示),那么它们将被拉伸,所以它们是均匀的(占用相同的空间)
正在拉伸的按钮
您指定了layout\u width=“wrap\u content”
,这通常会达到您想要的效果,但是在表格布局的情况下,您不能指定宽度。这来自TableRow android文档:
The children of a TableRow do not need to specify the layout_width and layout_height attributes in the XML file. TableRow always enforces those values to be respectively MATCH_PARENT and WRAP_CONTENT.
因此,您需要在表行中放置另一个容器,将按钮放在该容器中,并将按钮设置为环绕并对齐到中间。像这样的方法应该会奏效:
<TableRow ...>
<!-- Create a container -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- Place button inside Container -->
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<!-- Place button in the middle of the container -->
android:layout_gravity="center"
.../>
</LinearLayout>
</TableRow>
嗨,戈弗莫夫,很抱歉截图,作为一个新手,我不会看图片。嗯,没有“*”当然不行,因为它会拉伸所有内容,而且你建议的嵌套线性布局中的“匹配父项”也会拉伸。你能在我建议的添加之后发布修改后的布局吗。然后我可以看一看并发表评论。嗯。。。我无法复制图像。没有足够的学分。同样谢谢你,你真是太好了。我指的是修改布局的代码(XML)。对不起,应该说得更清楚。嘿!现在它开始工作了!(看上面。你的想法和重力规格的结合)非常感谢,伙计!