实现先来看看效果图(由于不会制作gif图所以)
如上图 左边可以点击切换到该标题的子item 右边可以通过滑动更换置顶标题
步骤开始:
一: 导入第三方
implementation 'com.kunminx.linkage:linkage-recyclerview:1.0.4'
友情提示:如果你的项目环境不是AndroidX的话,请 先更改环境使用(什么是AndroidX)
二:布局
<com.kunminx.linkage.LinkageRecyclerView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linkage"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
三:代码
linkage = (LinkageRecyclerView) findViewById(R.id.linkage);
initLinkageDatas(linkage);
private void initLinkageDatas(LinkageRecyclerView linkage) {
//
//这里是容器 LinkageItem是自带的一个类
List<LinkageItem> 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);
}
大功告成