无需继承的Activity侧滑返回库 类全面屏返回手势效果 仿“即刻”侧滑返回
无需继承的 Activity 侧滑返回库,类全面屏返回手势效果 仿 “即刻App” 侧滑返回。
最近一直在研究侧滑返回效果的实现,目前比较多的方案如下:
本库这里选择了方案3。
即刻App | 本库 | Demo 下载 |
---|---|---|
Demo 下载 |
// 1.添加 Jitpack 仓库
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
// 2.添加项目依赖( last-version 替换为最新版本号)
dependencies {
implementation 'com.github.ParfoisMeng:SlideBack:last-version'
}
// 在需要滑动返回的 Activity 中注册
Activity.registerSlideBack(haveScroll: Boolean = true, callBack: () -> Unit)
// 可以在 [custom: SlideBack.() -> Unit] 中修改 IconView 的样式
Activity.registerSlideBack(haveScroll: Boolean = true, callBack: () -> Unit, custom: SlideBack.() -> Unit)
// onDestroy 时解绑
// 内部使用 WeakHashMap,理论上不解绑也行
Activity.unregisterSlideBack()
// 在 Java 中使用
// 注册
SlideBackKt.registerSlideBack(Activity $this$registerSlideBack, boolean haveScroll, Function0 callBack, Function1 custom)
// 解绑
SlideBackKt.unregisterSlideBack(Activity $this$unregisterSlideBack);
OJBK!So easy!
附一张性能截图。可以看出来中间进行了很多次 onCreate & onDestroy,最后内存和开始时一致:
源码分析MD:Analysis.md & Analysis_v2.md
感谢 ChenTianSaber 的开源库 SlideBack (掘金)提供的思路与源码
event.getRawX() -> event.getX()
issues#12
劳烦各位大佬给个 Star 让我出去 装B 行嘛!
已使用 996 License,为程序员发声,为自己发声。