我需要一些关于如何在Android中实现最佳UI的建议。
我想要一个容器列表。每个容器有7个项目,如下所示。第5-7项是具有两个文本元素的子容器。
我在想LinearLayout
,其中包含RelativeLayouts
列表。这很清楚。至于如何在RelativeLayout
中布置元素,我不太确定。
关于如何切片的任何建议?将布局和视图组合在一起的最有效方法是什么?
谢谢!
答案 0 :(得分:1)
我认为你应该使用带有适配器的ListView来扩展自定义行。
对于行,我个人会使用1个父亲RelativeLayout,并直接将其中的所有孩子对齐。但是,如果您愿意,可以通过一些LinearLayouts来实现。
不仅以这种方式构建它使得制作布局相当容易,如果你每个人都需要用不同的或更多的数据(行)填充它,它也会让你有机会使List动态
答案 1 :(得分:0)
我还没有测试过这段代码,我知道它看起来有些混乱,但我不知道这是我亲自尝试过的东西,因为我曾经写过一个类似布局的自定义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>
答案 2 :(得分:0)
您可以考虑GridLayout,其概述如下:http://android-developers.blogspot.com/2011/11/new-layout-widgets-space-and-gridlayout.html
它是在API级别14(Android 4.0)中引入的,但是作为Android支持库的一部分,可以使用兼容API级别7的后端端口。