我的方法是使用一个水平linearLayout和两个内部linearLayouts,权重为0.5,然后在每个linearLayouts中将子项的权重设置为0.25,这样每个人占据屏幕的25%.
虽然这似乎有效,但这显然对性能非常不利(请参阅此主题,原因为Why are nested weights bad for performance? Alternatives?)
有没有替代方法来实现这一目标?我看了一下,但我找不到纯粹的XML解决方案.
请参阅下面的代码示例,了解我如何设置linearLayouts及其子设置
<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:orIEntation="horizontal" androID:layout_wIDth="fill_parent" androID:layout_height="fill_parent" androID:baselineAligned="false" androID:weightSum="1.0" > <linearLayout androID:orIEntation="vertical" androID:layout_wIDth="0dip" androID:layout_height="fill_parent" androID:layout_weight="0.5" androID:weightSum="1.0"> <ImageVIEw androID:layout_wIDth="wrap_content" androID:layout_height="0dip" androID:src="@drawable/example" androID:layout_gravity="center_horizontal" androID:layout_weight="0.25" /> <ImageVIEw androID:layout_wIDth="wrap_content" androID:layout_height="0dip" androID:src="@drawable/example" androID:layout_gravity="center_horizontal" androID:layout_weight="0.25" /> <ImageVIEw androID:layout_wIDth="wrap_content" androID:layout_height="0dip" androID:src="@drawable/example" androID:layout_gravity="center_horizontal" androID:layout_weight="0.25" /> <ImageVIEw androID:layout_wIDth="wrap_content" androID:layout_height="0dip" androID:src="@drawable/example" androID:layout_gravity="center_horizontal" androID:layout_weight="0.25" /> </linearLayout> <linearLayout androID:orIEntation="vertical" androID:layout_wIDth="0dip" androID:layout_height="fill_parent" androID:layout_weight="0.5" androID:weightSum="1.0"> <ImageVIEw androID:layout_wIDth="wrap_content" androID:layout_height="0dip" androID:src="@drawable/example" androID:layout_gravity="center_horizontal" androID:layout_weight="0.25" /> <ImageVIEw androID:layout_wIDth="wrap_content" androID:layout_height="0dip" androID:src="@drawable/example" androID:layout_gravity="center_horizontal" androID:layout_weight="0.25" /> <ImageVIEw androID:layout_wIDth="wrap_content" androID:layout_height="0dip" androID:src="@drawable/example" androID:layout_gravity="center_horizontal" androID:layout_weight="0.25" /> <ImageVIEw androID:layout_wIDth="wrap_content" androID:layout_height="0dip" androID:src="@drawable/example" androID:layout_gravity="center_horizontal" androID:layout_weight="0.25" /> </linearLayout></linearLayout>解决方法 你可能想给 GridLayout一个旋转.
还有一个library可供1.6设备使用.
总结以上是内存溢出为你收集整理的在Android中创建类似布局的网格全部内容,希望文章能够帮你解决在Android中创建类似布局的网格所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)