• Stars
    star
    2,036
  • Rank 22,724 (Top 0.5 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated about 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

RecyclerView的LayoutManager,轻松实现各种炫酷、特殊效果,再也不怕产品经理为难!

RecyclerView的LayoutManager,轻松实现各种炫酷、特殊效果,再也不怕产品经理为难!

博客详情: https://blog.csdn.net/u011387817/article/details/81875021

使用方式:

添加依赖:

implementation 'com.wuyr:pathlayoutmanager:1.0.3'

APIs:

Method Description
updatePath(Path path) 更新Path
setItemOffset(int itemOffset) 设置Item间距 (单位: px)
setOrientation(int orientation) 设置滑动方向:
RecyclerView.HORIZONTAL (水平滑动)
RecyclerView.VERTICAL (垂直滑动)
setScrollMode(int mode) 设置滚动模式:
SCROLL_MODE_NORMAL (普通模式)
SCROLL_MODE_OVERFLOW (允许溢出)
SCROLL_MODE_LOOP (无限循环)
setItemDirectionFixed(boolean isFixed) 设置Item是否保持垂直
setAutoSelect(boolean isAutoSelect) 设置是否开启自动选中效果
setAutoSelectFraction(float position) 设置自动选中的目标落点 (0~1)
setFlingEnable(boolean enable) 设置惯性滚动是否开启
setCacheCount(int count) 设置Item缓存个数
setItemScaleRatio(float... ratios) 设置平滑缩放比例
ratios: 缩放比例, 数组长度必须是双数,
偶数索引表示要缩放的比例
奇数索引表示在路径上的位置 (0~1)
奇数索引必须要递增,即越往后的数值应越大
例如:
setItemScaleRatio(0.8, 0.5)
表示在路径的50%处把Item缩放到原来的80%
setItemScaleRatio(0, 0, 1, 0.5, 0, 1)
表示在起点处的Item比例是原来的0%,在路径的50%处会恢复原样
到路径终点处会缩小到0%
scrollToPosition(int position) 将目标Item滚动到自动选中的落点(setAutoSelectFraction)
例如 setAutoSelectFraction(0) 则滚动到Path的起点处
若为1,则滚动到路径终点处,0.6则路径的60%处 (默认: 0.5)
smoothScrollToPosition(int position) 同上,此方法为平滑滚动,即选中时会播放动画
动画时长通过 setFixingAnimationDuration 方法来设置
setFixingAnimationDuration(long duration) 设置自动选中后的选中动画时长
setOnItemSelectedListener(Listener listener) 设置Item被选中后的监听器 (需开启自动选中才生效)

使用示例:

    mPathLayoutManager = new PathLayoutManager(path, itemOffset);
    mRecyclerView.setLayoutManager(mPathLayoutManager);

Demo下载: app-debug.apk

库源码地址: https://github.com/Ifxcyr/PathLayoutManager

效果:

preview preview preview preview preview preview preview preview

More Repositories

1

GoogleLibraryVersionQuerier

一款Android Studio插件,帮助你快速添加依赖库和查询历史版本
Kotlin
1,196
star
2

LitePager

LitePager,一个轻量级的ViewPager,仿新版网易云歌单广场
Kotlin
623
star
3

intellij-media-player

【🐟摸鱼专用】上班偷偷看视频📺而不会被老板打🔨的IDE插件,适配JetBrains全家桶
Kotlin
582
star
4

RippleAnimation

仿酷安客户端的主题切换动画效果
Java
392
star
5

HookwormForAndroid

一个基于Magisk&Riru的Module,可以助你用超低成本开发各种Hook插件,无须Xposed
Kotlin
325
star
6

RandomDragLayout

任意拖布局 (扩展自QQ空间的列表Header效果)
Java
222
star
7

SecondFloorBehavior

通过自定义Behavior实现“二楼”效果,兼容所有下拉刷新控件
Kotlin
191
star
8

ArcSlidingHelper

Android弧形滑动辅助 (使用超简单)
Java
168
star
9

CatchPiggy

捉小猪是一款很有趣的Android休闲小游戏
Java
168
star
10

PathView

仿BiliBili客户端聊天弹幕室线条动画效果
Java
161
star
11

incremental-compiler

适用于Android项目的Gradle插件,用来增量编译class和生成增量dex。跟自带的增量编译Task(assemble)的区别是:这个插件只会编译源文件,不做其他多余的动作
Kotlin
128
star
12

FanLayout

可定制性超强的圆弧滑动组件
Java
127
star
13

ArrowDrawable

纯Paint实现的一个射箭效果,可用作Loading动画。
Kotlin
114
star
14

CoffeeDrawable

纯Paint实现的一个搅拌咖啡效果,可用作Loading动画。
Kotlin
93
star
15

HexagramDecoder

易经64卦编解码
Kotlin
84
star
16

HideImageMaker

制作隐藏图片(幻影坦克)
Java
84
star
17

ActivityMessenger

ActivityMessenger,借助Kotlin特性,简化Activity之间传参和回调的逻辑代码。
Kotlin
55
star
18

CanvasX

脱离Android模拟器,在Java程序中使用Android下的Canvas、Paint、Bitmap等Graphics类(提取自Android Studio)
Java
39
star
19

HookwormForWanAndroidTest

HookwormForAndroid实战示例
Kotlin
33
star
20

jdwp-injector-for-android

借助adb协议+jdwp协议在Android端实现基于debugger的代码注入工具
Kotlin
32
star
21

DMifier

适用于Android项目的IDEA插件,用来自动生成DexMaker代码,类似『ASM Bytecode Viewer』
Kotlin
28
star
22

CoffinLayout

仿燃兔APP的游戏详情界面
Java
23
star
23

agent-injector-for-android

基于JVMTI实现的Android端动态代码注入工具
C
10
star
24

PatternPasswordViewer

root权限查看手机九宫格密码
Java
7
star
25

wuyr.github.io

CSS
2
star