是否可以将gridview放在listview的标题中?

时间:2015-03-04 07:53:58

标签: android listview gridview

我需要在listview的标题上放置6个具有相似布局的项目,并且正在权衡使用gridview的优缺点,或者只是将冗余代码放在xml中。当我将布局放在listview的头文件中时,我会实例化适配器并将数据放在gridview上。可能吗?这是一个很好的解决方案吗?

3 个答案:

答案 0 :(得分:1)

GridView可以将ListView用作标题吗?

是的,可以使用它。因为添加它的方法是addHeaderView(View v)。 从函数参数可以看出它需要任何View对象。因此gridView可以工作。

这是一个好的设计吗?

好吧,我从未尝试过。但是标题View在显示的信息量方面需要非常短。在这种意义上,GridView会产生bad solution

答案 1 :(得分:1)

也许更简单的解决方案是使用表格布局并包含特定的.xml文件,这样您就不会在.xml中包含冗余代码

示例:

   <TableLayout
      android:layout_width="match_parent"
      android:layout_height="wrap_content">

      <TableRow>

         <include
            android:id="@+id/one"
            layout="@layout/some" />

         <include
            android:id="@+id/two"
            layout="@layout/some" />

         <include
            android:id="@+id/three"
            layout="@layout/some" />
      </TableRow>

      <TableRow>

         <include
            android:id="@+id/four"
            layout="@layout/some" />

         <include
            android:id="@+id/five"
            layout="@layout/some" />

         <include
            android:id="@+id/six"
            layout="@layout/some" />
      </TableRow>
   </TableLayout>

仍然不漂亮,但我认为它比在列表中使用列表更好(永远不应该做什么。像滚动视图中的列表视图:))

答案 2 :(得分:0)

将滚动容器放在另一个滚动容器中not a good design。如果你确实想把网格作为标题,你需要动态地 measure 你的网格视图的高度,然后设置它的高度。

当你只有6件物品时,@ PaMaDo给出的答案是好的,但是将来你可能需要更多元素,那么它会很痛苦。

如果您现在正在创建,请使用RecyclerView帮助尝试gridlayoutmanager。但是在This中需要一些逻辑来实现spanCount。