Activity 跳转动画 -- pop animation
来源:互联网 发布:淘宝旺旺账号查询 编辑:程序博客网 时间:2024/06/05 05:47
效果图
基本实现
在 5.0 之前,Activity 的跳转动画都是通过自身的 overridePendingTransition 来实现的:
public void overridePendingTransition(int enterAnim, int exitAnim) { try { ActivityManagerNative.getDefault().overridePendingTransition( mToken, getPackageName(), enterAnim, exitAnim); } catch (RemoteException e) { } }
int enterAnim, int exitAnim 都是通过 animation 资源来定义的。
需要注意的是对于 Activity 跳转动画的统一管理,以及退出动画的特殊处理。
伪代码
A —> B 的情况下
R.anim.activity_pop_in —> B 的进入动画
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/decelerate_interpolator"> <scale android:duration="300" android:fromXScale=".5" android:fromYScale=".5" android:pivotX="50%p" android:pivotY="50%p" android:toXScale="1.0" android:toYScale="1.0" /> <alpha android:duration="300" android:fromAlpha=".4" android:toAlpha="1" /></set>
R.animation.pop_out —> A 的退出动画
<?xml version="1.0" encoding="utf-8"?><alpha xmlns:android="http://schemas.android.com/apk/res/android" android:duration="300" android:fromAlpha="1.0" android:toAlpha="1.0" />
R.anim.activity_pop_out —> B 的退出动画
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"> <scale android:duration="300" android:fromXScale="1" android:fromYScale="1" android:pivotX="50%p" android:pivotY="50%p" android:toXScale=".8" android:toYScale="0.8" /> <alpha android:duration="300" android:fromAlpha="1" android:toAlpha="0" /></set>
需要注意的是三个动画的 duration 要一致。
BaseActivity 对 Actiivty 跳转动画的统一管理
public class BaseActivity extends AppCompatActivity { ... @Override protected void onCreate(Bundle savedInstanceState) { if (isOverride()) { overridePendingTransition(R.anim.activity_pop_in, R.anim.pop_out); } super.onCreate(savedInstanceState); } @Override public void finish() { super.finish(); if (isOverride()) { overridePendingTransition(0, R.anim.activity_pop_out); } } protected boolean isOverride() { return true; }}
总结
步骤很简单,主要是对 animation 参数的调整。
0 0
- Activity 跳转动画 -- pop animation
- 简单易懂Android之Animation(动画)及Activity动画跳转
- 自定义PUSH POP跳转动画
- activity跳转动画
- Activity 跳转动画
- Android Activity跳转动画
- 去掉Activity跳转动画
- activity跳转动画使用方法
- Activity跳转动画
- Activity跳转动画
- Activity跳转动画
- activity 跳转 动画
- activity跳转动画
- activity跳转动画
- Activity跳转动画
- Activity无动画跳转
- Activity跳转动画
- Activity跳转动画
- LearnOpenGL学习笔记6:坐标
- 模拟app 报异常
- 接口测试的一些感悟
- hdu1541 树状数组
- nginx权限403 500问题 及Selinux
- Activity 跳转动画 -- pop animation
- lua简单的文件写入日志
- Revit二次开发番外篇之窗体切换焦点
- LearnOpenGL学习笔记7:摄像机
- 省市区街道四级地址库的应用案例(有图,可下载地址库)
- 挚爱 Theme of Love for My Sweatheart
- 欢迎使用CSDN-markdown编辑器
- opencv 与matlab 批量读取并保存图片
- 利用IDL计算马氏距离