玩商店式的卡片UI,选择什么样的布局?

时间:2013-11-15 21:43:20

标签: android android-layout

我正在尝试创建类似于Google Play商店的布局。我想要3张卡'彼此相邻(代表我)的产品,就像它代表以下屏幕截图中的应用程序一样:

enter image description here

这些产品(数据+图像)的内容是从外部源(webservice)加载的,因此必须动态添加它们。如何正确创建这样的布局?

请注意,就我而言:

  • 有可能只有0,1或只有2种产品可供使用,在这种情况下,我希望这些卡仍然具有相同的尺寸,如果有3个(所以如果有更少的话,基本上会留下一些空的空间)超过3种产品。
  • 展示的产品绝不会超过3种,因此不需要水平列表视图(我不希望出现这种行为)。

我自己尝试了一些解决方案。首先,我尝试了水平线性布局,并动态添加卡片视图。在XML中,这很好用:我使用了weight属性来使所有卡片占用相同的空间。但是,这意味着如果有2张卡片,它们将构成可用空间宽度的一半,这不是我想要的,因为它会增加推车的尺寸。

我考虑使用gridview,但是Android给了我一个警告,因为gridlayout被放置在scrollview中(scrollview是视图的根元素)。我可以简单地忘记警告,但这可能会在将来产生更多问题,所以我不想使用那个。

作为最后一个选项,我尝试了一个包含三列的TableLayout。问题是这只适用于添加3个布局的情况。一旦只有两种产品可用,只会添加两种布局,这会产生与水平线性布局相同的效果(每张卡共享一半的空间)。

有人能给我一个聪明的想法,我应该如何解决这个布局问题?很遗憾,我们无法看到这些Google应用程序的源代码...

0 个答案:

没有答案