在Android中创建类似布局的网格

在Android中创建类似布局的网格,第1张

概述基本上,我有一个视图,需要分成2×4网格,每个部分的大小相等(即每行将是屏幕高度的25%,每列将是屏幕宽度的50%). 我的方法是使用一个水平LinearLayout和两个内部LinearLayouts,权重为0.5,然后在每个LinearLayouts中将子项的权重设置为0.25,这样每个人占据屏幕的25%. 虽然这似乎有效,但这显然对性能非常不利(请参阅此主题,原因为Why are neste 基本上,我有一个视图,需要分成2×4网格,每个部分的大小相等(即每行将是屏幕高度的25%,每列将是屏幕宽度的50%).

我的方法是使用一个水平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中创建类似布局的网格所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1129010.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存