Android:四个正方形的对齐
Posted
技术标签:
【中文标题】Android:四个正方形的对齐【英文标题】:Android: Alignment of four squares 【发布时间】:2011-02-20 01:09:12 【问题描述】:我正在尝试在 android 屏幕上对齐四个大小相同的 正方形,我现在已经尝试了感觉上百万种不同的方法,但它们似乎都不起作用:(。
我现在得到的如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/MasterLayout" android:layout_ android:layout_ android:background="#FFFFFF">
<TableLayout android:layout_ android:id="@+id/mainlay" android:background="#444444" android:layout_weight="0.2" android:layout_ android:padding="0dip">
<TableRow android:layout_weight="1" android:background="#BBBBBB" android:padding="0dip">
<ImageView android:id="@+id/ImageView1" android:layout_marginLeft="10px" android:layout_weight="1" android:layout_marginRight="5px" android:layout_ android:layout_ android:scaleType="centerInside" android:src="@drawable/bigbox_new"></ImageView>
<ImageView android:id="@+id/ImageView2" android:layout_marginLeft="5px" android:layout_weight="1" android:layout_marginRight="10px" android:layout_ android:layout_ android:scaleType="centerInside" android:src="@drawable/bigbox_new"></ImageView>
</TableRow>
<TableRow android:layout_weight="1" android:padding="0dip">
<ImageView android:id="@+id/ImageView3" android:layout_marginLeft="10px" android:layout_weight="1" android:layout_marginRight="5px" android:layout_ android:layout_ android:scaleType="centerInside" android:src="@drawable/bigbox_new"></ImageView>
<ImageView android:id="@+id/ImageView4" android:layout_marginLeft="5px" android:layout_weight="1" android:layout_marginRight="10px" android:layout_ android:layout_ android:scaleType="centerInside" android:src="@drawable/bigbox_new"></ImageView>
</TableRow>
</TableLayout>
</LinearLayout>
这基本上完成了工作。然而,这四个图像中的每一个在其上方和下方都有一个巨大的填充。我该如何摆脱它?还是我需要一起使用不同的布局类型?
为了帮助说明我的问题,这里有一张图片。 左边是我得到的,右边是我需要的。 Image
非常感谢!
干杯,马库斯!
【问题讨论】:
【参考方案1】:从您的 TableRows 中删除 layout_weight
并将其 layout_height
设置为 wrap_content
。然后在它们下方添加一个空的 TableRow,并将 layout_height
设置为 fill_parent
。
【讨论】:
谢谢! fill_parent 布局的这个技巧正是我想要的。【参考方案2】:尝试使用 scaleType 作为 centerCrop,如果图像尺寸更大,那么这将为您解决问题。但这不是最好的方法,最好是更改图像资源。
HTH!
【讨论】:
你好,卡兰。谢谢你的小费。但是,我的描述似乎不太清楚(尤其是图片);我需要正方形保持正方形。它们应该在 2x2 网格中尽可能大。但是屏幕上的剩余空间一定不能在四个方格之间,而是在屏幕底部的下方。你有指针给我吗?谢谢。【参考方案3】:尝试将 ImageView 高度设置为 fill_parent,我认为这应该可以解决问题。无论如何,如果您的 XML 属性被分成几行,这会有所帮助,我们其他人很难读取单行属性。
另外,为什么要在 LinearLayout 中放置 TableLayout?除非您在该 Linear 中有更多元素,否则您可以摆脱它。
【讨论】:
很遗憾,这并没有达到预期的效果。谢谢你的时间! @ 代码;你说的对。我现在已将其重组为几行。以上是关于Android:四个正方形的对齐的主要内容,如果未能解决你的问题,请参考以下文章