Android RecyclerView滑动标题置顶

实现先来看看效果图(由于不会制作gif图所以)

 

Android RecyclerView滑动标题置顶_第1张图片Android RecyclerView滑动标题置顶_第2张图片

如上图 左边可以点击切换到该标题的子item  右边可以通过滑动更换置顶标题

步骤开始:

一: 导入第三方

implementation 'com.kunminx.linkage:linkage-recyclerview:1.0.4'

友情提示:如果你的项目环境不是AndroidX的话,请 先更改环境使用(什么是AndroidX)

二:布局

Android RecyclerView滑动标题置顶_第3张图片

 

三:代码

 linkage = (LinkageRecyclerView) findViewById(R.id.linkage);
        initLinkageDatas(linkage);

 private void initLinkageDatas(LinkageRecyclerView linkage) {
// 

        //这里是容器 LinkageItem是自带的一个类
        List items=new ArrayList<>();

        //通过查看源码有二个构造方法
        //这个是设置是这边的标题栏
        items.add(new LinkageItem(true,"NBA2KOL"));
        //这个是滑动的item  注意标题一致
        items.add(new LinkageItem(new LinkageItem.ItemInfo("篮下卡柱子","NBA2KOL","魔术师")));
        items.add(new LinkageItem(new LinkageItem.ItemInfo("扣篮之王","NBA2KOL","卡特")));
        items.add(new LinkageItem(new LinkageItem.ItemInfo("中国巨人","NBA2KOL","姚明")));
        items.add(new LinkageItem(new LinkageItem.ItemInfo("篮下卡柱子","NBA2KOL","魔术师")));
        items.add(new LinkageItem(new LinkageItem.ItemInfo("扣篮之王","NBA2KOL","卡特")));
        items.add(new LinkageItem(new LinkageItem.ItemInfo("中国巨人","NBA2KOL","姚明")));

        items.add(new LinkageItem(true,"穿越火线"));
        items.add(new LinkageItem(new LinkageItem.ItemInfo("爆头大师","穿越火线","唐茂青")));
        items.add(new LinkageItem(new LinkageItem.ItemInfo("狙击之王","穿越火线","100kg")));
        items.add(new LinkageItem(new LinkageItem.ItemInfo("外挂之收","穿越火线","魄狙")));
        items.add(new LinkageItem(new LinkageItem.ItemInfo("爆头大师","穿越火线","唐茂青")));
        items.add(new LinkageItem(new LinkageItem.ItemInfo("狙击之王","穿越火线","100kg")));
        items.add(new LinkageItem(new LinkageItem.ItemInfo("外挂之收","穿越火线","魄狙")));


        items.add(new LinkageItem(true,"wzx"));
        items.add(new LinkageItem(new LinkageItem.ItemInfo("第一","wzx","xjc")));
        items.add(new LinkageItem(new LinkageItem.ItemInfo("第二","wzx","njx")));
        items.add(new LinkageItem(new LinkageItem.ItemInfo("第三","wzx","jdd")));
        items.add(new LinkageItem(new LinkageItem.ItemInfo("第一","wzx","xjc")));
        items.add(new LinkageItem(new LinkageItem.ItemInfo("第二","wzx","njx")));
        items.add(new LinkageItem(new LinkageItem.ItemInfo("第三","wzx","jdd")));
        items.add(new LinkageItem(new LinkageItem.ItemInfo("第一","wzx","xjc")));
        items.add(new LinkageItem(new LinkageItem.ItemInfo("第二","wzx","njx")));
        items.add(new LinkageItem(new LinkageItem.ItemInfo("第三","wzx","jdd")));
        linkage.init(items);
    }

大功告成

 

 

你可能感兴趣的:(安卓)