如何按大小摆放物品?

How to place items according to their size?

目前,我正在开发一个 android 应用程序。在我的 activity 中,我想根据元素的大小放置元素。我解释一下:我在 GridLayout 中有 3 个 LinearLayout,如下所示:

GridLayout (2,2, horizo​​ntal) 允许像这样放置 LinearLayouts :

我想做同样的事情,但没有使用 GridLayout(2,2,horizo​​ntal),而是根据元素的大小。

例如,如果屏幕大,3个LinearLayout可以在同一行,反之,如果屏幕小,1个LinearLayout一行。

我希望我已经清楚了,提前致谢。

此布局将是 "FlowLayout",标准中不存在。

但是周围有一些开源实现:

你应该看看

https://github.com/ApmeM/android-flowlayout

https://github.com/blazsolar/FlowLayout

是的,当然可以。

您需要为不同密度的设备创建不同的布局目录。

例如layout-ldpilayout-hdpi等,并在其中定义所需的布局类型。

res/layout/my_layout.xml             // layout for normal screen size ("default")
res/layout-small/my_layout.xml       // layout for small screen size
res/layout-large/my_layout.xml       // layout for large screen size
res/layout-xlarge/my_layout.xml      // layout for extra large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation

并在不同的 my_layout.xml 文件中定义一个、两个或三个您需要的线性布局。

试试这些而不是网格布局

https://github.com/blazsolar/FlowLayout

https://docs.google.com/file/d/0B_VKZCqEnHblNDdiY2UxODgtYWNhNS00MmU4LWE4NDMtZjQ1OWI5MDMxZTVh/edit?num=50&sort=name&layout=list&pli=1#