返回
Android 10 手势导航侧滑返回效果优化
Android
2024-02-16 18:45:23
各位老铁们,大家好!今天,小爽哥要给大家分享一个 Android 10 手势导航侧滑返回效果优化的经验。
Android 10 虽然引入了手势导航功能,但默认的侧滑返回效果实在是让人一言难尽。大家可以看看这个效果:
这种生硬的返回动画,真的让人怀疑人生。不过,不用担心,小爽哥已经成功优化了这个效果,下面就给大家分享一下我的优化思路。
首先,我们需要了解 Android 10 手势导航的侧滑返回是如何实现的。在 Android 10 中,侧滑返回手势的实现主要依靠两个系统动画:
- 滑动动画: 当用户从屏幕边缘向内滑动时,系统会播放一个滑动动画,将当前界面向右移动。
- 退出动画: 当滑动距离达到一定阈值时,系统会播放一个退出动画,将当前界面从屏幕中移除。
默认情况下,这两个动画的播放速度和曲线都是固定的。正是这种固定的动画速度和曲线,导致了生硬的返回动画效果。
为了优化这个效果,我们需要做的就是自定义这两个动画的播放速度和曲线。具体来说,我们可以通过修改以下两个文件来实现:
/system/framework/framework-res.apk
/system/framework/framework-res-ext.apk
当然,这两个文件是系统文件,我们不能直接修改它们。我们需要先将它们提取出来,然后进行修改。提取方法如下:
- 使用 adb 命令连接到手机:
adb shell
- 提取 framework-res.apk 文件:
dd if=/system/framework/framework-res.apk of=/sdcard/framework-res.apk
- 提取 framework-res-ext.apk 文件:
dd if=/system/framework/framework-res-ext.apk of=/sdcard/framework-res-ext.apk
提取完成后,我们就可以对这两个文件进行修改了。具体修改方法如下:
- 打开 framework-res.apk 文件,找到以下资源:
<animation-list android:id="@+android:anim/app_transition_enter" />
- 修改这个动画列表,添加以下动画:
<item android:drawable="@android:drawable/screen_background_transparent" android:duration="100" />
<item android:drawable="@android:drawable/screen_background_transparent" android:duration="100" />
<item android:drawable="@android:drawable/screen_background_transparent" android:duration="50" />
<item android:drawable="@android:drawable/screen_background_transparent" android:duration="100" />
- 打开 framework-res-ext.apk 文件,找到以下资源:
<interpolator android:id="@+android:anim/accelerate_interpolator" />
- 修改这个插值器,添加以下代码:
<cubicBezier x1="0.5" y1="0" x2="0.5" y2="1" x3="0.5" y3="1" x4="1" y4="1" />
修改完成后,保存文件并重新打包 framework-res.apk 和 framework-res-ext.apk 文件。打包方法如下:
- 创建一个新的 APK 文件:
mkdir framework-res.zip
- 将修改后的 framework-res.apk 和 framework-res-ext.apk 文件复制到 framework-res.zip 文件中:
cp framework-res.apk framework-res-ext.apk framework-res.zip
- 压缩 framework-res.zip 文件:
zip -r framework-res.zip framework-res
打包完成后,将 framework-res.zip 文件刷入手机即可。刷入方法如下:
- 将 framework-res.zip 文件复制到手机的 /sdcard 目录下
- 使用 adb 命令刷入文件:
adb push /sdcard/framework-res.zip /system/framework
- 重启手机
重启手机后,侧滑返回效果就会变得更加流畅和自然了。大家可以看看这个效果:
怎么样?是不是比默认的效果好多了?
当然,以上只是小爽哥自己的优化思路,大家也可以根据自己的喜好进行调整。希望这个教程能帮助大家优化 Android 10 手势导航的侧滑返回效果。
最后,给大家分享一些相关的资源: