【问题标题】:How to place items according to their size?如何根据物品的大小放置物品?
【发布时间】:2015-07-21 17:21:55
【问题描述】:

目前,我开发了一个 android 应用程序。在我的活动中,我想根据元素的大小放置元素。我解释一下:我在这样的 GridLayout 中有 3 个 LinearLayout:

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

我也想这样做,但不使用 GridLayout(2,2,horizo​​ntal),而是根据元素的大小。

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

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

【问题讨论】:

标签: android android-xml


【解决方案1】:

此布局将是标准中不存在的“FlowLayout”。

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

你应该看看

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

https://github.com/blazsolar/FlowLayout

【讨论】:

  • 谢谢,我已经用过了。抱歉重复了,我以前不知道 FlowLayout。
  • 没问题!如果您不知道它的名称,或者即使它确实存在,那么即使在互联网上也无法找到它......
【解决方案2】:
【解决方案3】:

是的,当然可以。

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

例如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 文件中定义您需要的一个、两个或三个线性布局。

【讨论】:

  • @Orabîg 是的,但我想给他一些建议
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-23
  • 2021-11-08
  • 1970-01-01
  • 1970-01-01
  • 2017-12-25
  • 2010-12-05
相关资源
最近更新 更多