如何在Android中维护粘性网格视图

时间:2014-10-10 04:59:24

标签: android gridview superslim

我想在我的应用程序中实现粘性gridview,但问题是当我滚动gridview时,gridview的标题也会移动,所以,请你帮助我从这些问题中解决

2 个答案:

答案 0 :(得分:1)

您可以查看StickyGridHeaders库,其中提供的GridView库显示带标题的部分中的项目。默认情况下,部分标题会像Android 4.x中的People应用程序一样粘在顶部,但可以将其关闭。

StickyGridHeaders也会自动将其行的大小调整为该行中的最大项目。

另一个是AStickyHeader,用于将粘性标题添加到 ListView GridView

希望这会对你有所帮助。

答案 1 :(得分:1)

TonicArtos的回购很棒,但我发现很难将它与我的应用程序集成。另外,我无法运行示例代码,因此我决定将其分叉并稍微改进一下。

唯一添加的是2个类,这使得适配器的创建变得更加容易IMO。

这些课程中的第一个是:

public abstract class UtilAdapter<T, VH extends BaseViewHolder> extends BaseAdapter {
    //methods to add and remove elements & viewholder implementation
}

这个类提供了一些方法来添加和删除它所拥有的内部列表中的元素(ArrayAdapter所做的那种)。它还为您实现了视图模式,因此您只需实现一些抽象方法。

第二节课是:

public abstract class StickyGridAdapter<T, VH extends BaseViewHolder, HVH extends BaseViewHolder> extends UtilAdapter<T, VH> implements StickyGridHeadersSimpleAdapter {
    //viewholder imlpementation for the header view (also has abstract methods)
}

该类实现了StickyGridHeadersSimpleAdapter(TonicArtos的界面)。它还实现了头视图的视图模式,因此扩展此类可以实现一些返回ViewHolder类的方法以及填充所述视图的其他方法。

要实现粘性标题网格,您只需要扩展StickyGridAdapter,在布局中使用StickyGridHeadersGridView而不是GridView并像往常一样设置适配器。

这是repo的链接(这是TonicArto的分支):

https://github.com/OneCodeLabs/StickyGridHeaders

我还使用我的类编写了一些示例代码。我希望它可以帮到你