1

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

4

2 回答 2

1

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

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

另一个是AStickyHeader 用于将 Sticky Headers 添加到ListViewGridView

希望这会帮助你。

于 2014-10-10T06:40:59.953 回答
1

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

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

这些类中的第一个是:

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

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

第二类是:

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 并像往常一样设置适配器。

这是回购的链接(它是 TonicArto 的一个分支):

https://github.com/OneCodeLabs/StickyGridHeaders

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

于 2016-03-06T09:50:00.897 回答