我需要一些关于如何最好地在 Android 中实现 UI 的建议。
我想要一个容器列表。每个容器有 7 个项目,如下所示。项目 5-7 是具有两个文本元素的子容器。
我在想一个LinearLayout
包含RelativeLayouts
. 这很清楚。至于如何在 中布置元素RelativeLayout
,我不太确定。
关于如何切片的任何建议?将布局和视图组合在一起的最有效方法是什么?
谢谢!
我需要一些关于如何最好地在 Android 中实现 UI 的建议。
我想要一个容器列表。每个容器有 7 个项目,如下所示。项目 5-7 是具有两个文本元素的子容器。
我在想一个LinearLayout
包含RelativeLayouts
. 这很清楚。至于如何在 中布置元素RelativeLayout
,我不太确定。
关于如何切片的任何建议?将布局和视图组合在一起的最有效方法是什么?
谢谢!
我认为你应该使用 ListView 和一个扩展自定义行的适配器。
对于我个人会使用 1 个父级 RelativeLayout 的行,并且直接将我的所有子级对齐在其中。但如果您更喜欢这些,则可以使用一些 LinearLayouts 来实现。
以这种方式构建它不仅可以使布局变得相当容易,如果您每个人都需要使用不同或更多数据(行)填充它,它还可以让您有机会使列表动态化
我还没有测试过这段代码,我知道它看起来有点混乱,但我个人认为这是我个人会尝试的,因为我曾经写过一个具有几乎相似布局的自定义 ListView。
<RelativeLayout>
<TextView> //position at top
Lorem ipsum dolor sit amet, consectetur adipisicing...
</TextView>
<TableLayout> //stretchcolumns = 2 && position at bottom
<TableRow>
<RelativeLayout>
<TextView>
Lorem Ipsum //position at top
</TextView>
<ImageView>
icon //position to left
</ImageView>
<TextView>
Lorem Ipsum //position to right
</TextView>
<RelativeLayout>
</TableRow>
<TableRow>
<TableLayout> //stretchcolumns = 3
<TableRow> //give all children a weight of 1
<RelativeLayout>
<TextView>
1234 //position at top
</TextView>
<TextView>
Lorem Ipsum //position at bottom
</TextView>
</RelativeLayout>
<RelativeLayout>
<TextView>
1234 //position at top
</TextView>
<TextView>
Lorem Ipsum //position at bottom
</TextView>
</RelativeLayout>
<RelativeLayout>
<TextView>
1234 //position at top
</TextView>
<TextView>
Lorem Ipsum //position at bottom
</TextView>
</RelativeLayout>
</TableRow>
</TableLayout>
</TableRow>
</TableLayout></RelativeLayout>
您可能会考虑GridLayout,这里介绍了它的概述:http ://android-developers.blogspot.com/2011/11/new-layout-widgets-space-and-gridlayout.html
它是在 API 级别 14 (Android 4.0) 中引入的,但作为 Android 支持库的一部分,可以使用向下兼容到 API 级别 7 的向后移植。