Step 1. Add the JitPack repository to your build file
Add it in your root settings.gradle at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}
}
Add it in your settings.gradle.kts at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url = uri("https://jitpack.io") }
}
}
Add to pom.xml
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
Add it in your build.sbt at the end of resolvers:
resolvers += "jitpack" at "https://jitpack.io"
Add it in your project.clj at the end of repositories:
:repositories [["jitpack" "https://jitpack.io"]]
Step 2. Add the dependency
dependencies {
implementation 'com.github.downtail:itemdecorationplus:0.2.0'
}
dependencies {
implementation("com.github.downtail:itemdecorationplus:0.2.0")
}
<dependency>
<groupId>com.github.downtail</groupId>
<artifactId>itemdecorationplus</artifactId>
<version>0.2.0</version>
</dependency>
libraryDependencies += "com.github.downtail" % "itemdecorationplus" % "0.2.0"
:dependencies [[com.github.downtail/itemdecorationplus "0.2.0"]]
在工作中多次遇到需要为RecyclerView设置悬浮或者说粘性的头部,于是有了这个东西。有一点非常重要的是,如果搭配 BaseRecyclerViewAdapterHelper 可以实现更加丰富的效果,比如类似QQ好友列表的分组悬浮以及其他一些需求。
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
implementation 'com.github.downtail:ItemDecorationPlus:0.2.0'
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);
}
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);
具体使用参考demo
以上即为使用方法。
如果有什么问题或者新的想法可以issue或者联系我。