怎样让 Android 系统的过渡动画达到 iOS 那样流畅自然的效果?

怎样让 Android 系统的过渡动画达到 iOS 那样流畅自然的效果?,第1张

1、首先在手机桌面打开设置

2、然后点击 我的设备。

3、接着点击 全部参数。

4、一直点击miui版本,直到提示您已处于开发者模式。

5、然后返回点击 更多设置。

6、接着点击 开发者选项。

7、最后修改 窗口动画缩放为2,过渡动画缩放为1.5,Animator时长缩放为1.5,即可让 Android 系统的过渡动画流畅自然了。

首先,先简单介绍一下 android:parentActivityName 。

简单来说就是在当前 Activity 的标题栏左上角加一个返回按钮,点击后自动返回设置的 Activity 而不是回到之前的 Task。

比如为 TestActivity 设置:

<activity android:name=".TestActivity"

    android:parentActivityName=".MainActivity"/>

则点击左上角的返回图标后将自动回到 MainActivity。

关于 android:parentActivityName 详见 官方文档

然而,在设置该属性后我发现系统在 Activity 切换时的过渡动画似乎有点不对劲。

首先看图:

为了更好的演示切换时的过渡动画,我把 过渡动画缩放 设置为了 5X 。 

可以看到,正常的进入 Activity 应该是新 Activity 从右往左进入并逐渐覆盖当前Activity。

点击返回后应该是当前 Activity 从左往右退出,并逐渐显露出上层 Activity。

例如:图中的点击进入 设置界面 和退出 设置界面。

但是,通过在 AndroidManifest 中为 Activity 添加 android:parentActivityName 的方法来返回上层时却是上层 Activity 从右往左进入并覆盖当前 Activity,而非正常的当前 Activity 从左往右退出。

例如:图中点击进入 关于界面 后退出。

通过以上分析不难得出结论,使用 android:parentActivityName 并非是 finish 当前 Activity 后返回上层,而是新建一个上层 Activity 来覆盖当前 Activity。

查询资料得知

所以系统在的过渡动画给出的是进入 Activity 的动画而非退出动画,怪不得总觉得看起来怪怪的。

我个人的解决方案是手动设置 Toolbar,并添加返回按钮:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar)

setSupportActionBar(toolbar)

getSupportActionBar().setDisplayHomeAsUpEnabled(true)

然后继承 onOptionsItemSelected ,当点击 返回 按钮时手动 finish :

if (id ==android.R.id.home) {

finish()

}

这样虽然麻烦了点,但至少动画看起来顺眼了点......

如果各位大佬还有更好的方法欢迎指教~

PS:我没有刻意去设置切换 Activity 的动画,都是用的系统默认的过渡动画,所以可能不同的 ROM 动画效果不一样(比如我截图中的 MIUI 是左右滑出滑入,我使用原生安卓测试是上下滑出滑入),但实质都是一样的。

PPS:写完才发现原来文档里用的本来就是 “启动” 而非 “返回” Activity......所以说,就因为没好好看文档折腾了这么久......

进入手机设置--动态效果--(界面动态效果)--桌面过渡动画,选择应用即可。

_riginOS是基于安卓系统的深度定制的用户界面,于2020年11月18日在深圳发布。OriginOS搭载了全新华容网格桌面网格体系,另外还有原子通知、原子随身听、原子组件库、导航手势等,通过原子组件简化了许多曾经繁琐的 *** 作;交互上也给了用户充分的自由。在UI设计上也颇具创新性,系统内置有Android和Origin切换按钮,拥有两种不同风格的桌面。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11829650.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存