寻找一些Android布局建议

时间:2015-01-27 23:48:16

标签: android android-linearlayout relativelayout

我有一个问题,我需要在运行时向布局添加几个(> 20),按钮可以是2种不同的宽度和2种不同的高度。我不知道这些按钮在设计时的确切尺寸,因为最小尺寸将由设备屏幕决定。所以我想我会使用线性布局并使用权重来管理按钮的大小,但是你一次只能在一个方向上进行布局,我需要按钮能够在任一方向上将它们的尺寸加倍,参见下面的ascii art。我还查看了相对布局,但我需要在设计时指定按钮的大小,因为每个用户可以根据他们想要强调的按钮来设置不同的布局。

<code>
 +--------+   
 |        | single size button
 |        |   
 +--------+

 +--------+--------+
 |                 | double width single height
 |                 |
 +--------+--------+

 +--------+
 |        |
 |        | double height single width
 +        +
 |        |
 |        |
 +--------+

 +--------+--------+
 |                 |
 |                 | double height double width
 +                 +
 |                 |
 |                 |
 +--------+--------+
</code>

考虑到这一点,这是一种可能的布局

<code>
+--------+ +--------+ +--------+--------+ +--------+  
|        | |        | |                 | |        |
|        | |        | |                 | |        |
+--------+ +--------+ +--------+--------+ +        + 
+--------+ +--------+-+--------+          |        |    
|        | |                   |          |        |   
|        | |                   |          |        |
+--------+ +-------------------+          +--------+  

</code>

因此,我无法确定构建这种灵活布局的方法,并且想知道是否可以告诉我构建此布局是否只能在代码中完成,而不是基于xml的更高效和可重用的布局?

此致 达明

1 个答案:

答案 0 :(得分:0)

来自新Lollipop API的RecyclerView StaggeredGridLayout。这些类在支持库中提供。

他们让这样的东西, 它支持水平和垂直滚动,像ListView一样使用它可以动态填充。

enter image description here

Or use any libraries, that you can find by key word - twowayview