Skip to content

downtail/ItemDecorationPlus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

117 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ItemDecorationPlus

介绍

在工作中多次遇到需要为RecyclerView设置悬浮或者说粘性的头部,于是有了这个东西。有一点非常重要的是,如果搭配 BaseRecyclerViewAdapterHelper 可以实现更加丰富的效果,比如类似QQ好友列表的分组悬浮以及其他一些需求。

效果预览

普通item悬浮

树形

混合item

使用方式

  1. 添加jitpack仓库

allprojects {  
    repositories {
        ...
        maven { url "https://jitpack.io" }
    }
}

  1. 添加依赖

implementation 'com.github.downtail:ItemDecorationPlus:0.2.0'

  1. 实现接口(让adapter来实现)

public class MaskedAdapter extends RecyclerView.Adapter<MaskedAdapter.SampleHolder> implements FloaterExtension{}


public interface FloaterExtension {

    //是否悬浮
    boolean isFloaterView(int position);

    //悬浮的itemType
    @IntRange(from = 0, to = Integer.MAX_VALUE)
    int getItemType(int position);
}
  
  1. 为RecyclerView添加ItemDecoration

FloaterView floaterView = FloaterView.init(rvExhibition)
                .addItemType(ExhibitionMultipleEntity.ITEM_HEADER,R.layout.item_basket_exhibition_header)
                .setOnBindViewListener(new FloaterView.OnBindViewListener() {
                    @Override
                    public void onBind(View view, int position) {
                        
                    }
                })
                .setOnItemChildClickListener(new FloaterView.OnItemChildClickListener() {
                    @Override
                    public void onItemChildClick(View view, int position) {
                        
                    }
                });
        FloaterItemDecoration floaterItemDecoration = new FloaterItemDecoration(exhibitionMultipleAdapter, floaterView);

  1. 具体使用参考demo

  2. 以上即为使用方法。

建议和意见

如果有什么问题或者新的想法可以issue或者联系我。

参考

StickyDecoration

About

悬浮粘性ItemDecoration

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages