GridView,每行包含动态的项目数

时间:2016-01-15 07:57:56

标签: android android-gridview

我正在尝试使用每行中不同数量的项目来实现gridview,具体取决于每个项目的宽度。我希望它看起来像Medium应用程序中的那个,如下所示:

Medium

我怎样才能实现这个目标?

1 个答案:

答案 0 :(得分:1)

您可以通过两种主要方式解决问题:

  1. ScrollViewLinear - 或RelativeLayout一起使用。然后,您将在代码中添加项目,测量每个项目并在需要时将它们放入新行。这将需要创建一些逻辑,但是可以实现。如果内容超出屏幕高度,ScrollView将负责滚动。这个解决方案的问题在于你没有一个回收机制,当列表变长时会导致内存问题。

  2. 使用RecyclerView! :-D RecyclerView的一个很棒的功能是,虽然提供了项目列表的标准基于适配器的概念,但它也允许您实现自定义LayoutManager。创建自己的LayoutManager实现,根据测量结果对项目进行定位,完成后,RecyclerView将为您滚动和回收项目! :-D这需要一些时间来适应,特别是如果你没有RecyclerView的经验,但整个事情应该花费不超过几个小时,并且,在我的拙见,真的值得。

  3. 您可以自由选择,但第二种方法更现代,通常更容易实施。一般来说,你应该学会使用RecyclerView,它可以帮助你做很多事情,并且比你好的ListGridViews更快实现,一旦掌握了它。< / p>