无需继承的Activity侧滑返回库 类全面屏返回手势效果 仿“即刻”侧滑返回
无需继承的 Activity 侧滑返回库,类全面屏返回手势效果 仿 “即刻App” 侧滑返回。
最近一直在研究侧滑返回效果的实现,目前比较多的方案如下:
本库这里选择了方案3。
| 即刻App | 本库 | Demo 下载 |
| :---: | :---: | :---: |
| |
|
Demo 下载 |
引用类库 *请将 last-version 替换为最新版本号
// 1.添加 Jitpack 仓库 allprojects { repositories { ... maven { url 'https://jitpack.io' } } } // 2.添加项目依赖( last-version 替换为最新版本号) dependencies { implementation 'com.github.ParfoisMeng:SlideBack:last-version' }
// 可以在 [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,为程序员发声,为自己发声。