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.whosea:gravitysnaprecycleview:1.0.0'
}
dependencies {
implementation("com.github.whosea:gravitysnaprecycleview:1.0.0")
}
<dependency>
<groupId>com.github.whosea</groupId>
<artifactId>gravitysnaprecycleview</artifactId>
<version>1.0.0</version>
</dependency>
libraryDependencies += "com.github.whosea" % "gravitysnaprecycleview" % "1.0.0"
:dependencies [[com.github.whosea/gravitysnaprecycleview "1.0.0"]]
Android Recycleview 翻页效果(类似ViewPager)
原文链接:https://www.zybuluo.com/whosea/note/1006457
compile 'com.github.whosea:GravitySnapRecycleView:1.0.0'
项目应用效果:
demo效果:
创建处理翻页效果类(另外总共支持start end top bottom 和 center 五种行为):
GravitySnapHelper snapHelper = new GravitySnapHelper(Gravity.CENTER);
snapHelper.setColumn(3);//如果一页里面有超过1列的都需要设置
snapHelper.attachToRecyclerView(recyclerview);
snapHelper.setCanPageScroll(true);//是否启用一页一页的滚动,默认不启用
翻页监听
PageIndicatorHelper pageIndicatorHelper = new PageIndicatorHelper();
pageIndicatorHelper.setPageColumn(column);
pageIndicatorHelper.setRecyclerView(rvCenter);
pageIndicatorHelper.setOnPageChangeListener(new GravityPageChangeListener() {
@Override
public void onPageSelected(int position,int currentPage,int totalPage) {
Log.e("MainActivity",currentPage+ "/"+totalPage);
}
@Override
public void onPageScrollStateChanged(int state) {
}
});