android 5.0 -- Activity 过渡动画
2015-11-22 00:29
579 查看
android 5.0 提供3种过渡动画:
进入
退出
进入退出包括如下效果:
explode 分解:屏幕中间进出
slide 滑动:屏幕边缘进出
fade 淡出:改变透明度来添加或者移除视图
共享
changeBounds :改变目标视图布局边界
changeClipBounds:裁剪目标布局边界
changeTransform:改变视图缩放比例,旋转角度
changeImageTransform:改变视图大小,缩放比例
实际开发中的使用:
1,在要使用过渡动画的多个activity里面添加:
或者在布局样式文件里面添加如下代码:
2,不同的动画效果:
进入动画:
退出动画:
2,activity跳转启动动画效果:
3,共享元素动画:
4,跳转到的activity中的设置:
进入
退出
进入退出包括如下效果:
explode 分解:屏幕中间进出
slide 滑动:屏幕边缘进出
fade 淡出:改变透明度来添加或者移除视图
共享
changeBounds :改变目标视图布局边界
changeClipBounds:裁剪目标布局边界
changeTransform:改变视图缩放比例,旋转角度
changeImageTransform:改变视图大小,缩放比例
实际开发中的使用:
1,在要使用过渡动画的多个activity里面添加:
// 允许使用transitions getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);
或者在布局样式文件里面添加如下代码:
<item name="android:windowContentTransitions">true</item>
2,不同的动画效果:
进入动画:
getWindow().setEnterTransition(new Explode()); getWindow().setEnterTransition(new Slide()); getWindow().setEnterTransition(new Fade());
退出动画:
getWindow().setExitTransition(new Explode()); getWindow().setExitTransition(new Slide()); getWindow().setExitTransition(new Fade());
2,activity跳转启动动画效果:
startActivity(intent, ActivityOptions.makeSceneTransitionAnimation(this).toBundle());
3,共享元素动画:
public class MainActivity extends Activity { private Intent intent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_transition); } // 设置不同动画效果 public void explode(View view) { intent = new Intent(this, Transitions.class); intent.putExtra("flag", 0); startActivity(intent, ActivityOptions.makeSceneTransitionAnimation(this) .toBundle()); } // 设置不同动画效果 public void slide(View view) { intent = new Intent(this, Transitions.class); intent.putExtra("flag", 1); startActivity(intent, ActivityOptions.makeSceneTransitionAnimation(this) .toBundle()); } // 设置不同动画效果 public void fade(View view) { intent = new Intent(this, Transitions.class); intent.putExtra("flag", 2); startActivity(intent, ActivityOptions.makeSceneTransitionAnimation(this) .toBundle()); } // 设置不同动画效果 public void share(View view) { View fab = findViewById(R.id.fab_button); intent = new Intent(this, Transitions.class); intent.putExtra("flag", 3); // 创建单个共享元素 // startActivity(intent, // ActivityOptions.makeSceneTransitionAnimation( // this, view, "share").toBundle()); startActivity(intent, ActivityOptions.makeSceneTransitionAnimation( this, // 创建多个共享元素 Pair.create(view, "share"), Pair.create(fab, "fab")).toBundle()); } }
4,跳转到的activity中的设置:
public class Transitions extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS); int flag = getIntent().getExtras().getInt("flag"); // 设置不同的动画效果 switch (flag) { case 0: getWindow().setEnterTransition(new Explode()); break; case 1: getWindow().setEnterTransition(new Slide()); break; case 2: getWindow().setEnterTransition(new Fade()); getWindow().setExitTransition(new Fade()); break; case 3: break; } setContentView(R.layout.activity_transition_to); } }
相关文章推荐
- Android ADB命令大全
- android studio 运行Failure [INSTALL_FAILED_OLDER_SDK]
- Android 开发之ViewPage官方文档学习笔记
- Android ViewHolder的工具类,ListView超简洁写法
- ubuntu14.04编android2.3.1的一些坑
- 使用NDK构建android程序
- 浅谈Android Service
- 国内镜像下载Android源码
- Android 中的adapter和作用以及常见的adapter
- Android Activity转场动画
- 读Android蓝牙通信源码
- android Listview显示不同的item遇到的问题
- 第二章 安装Android开发环境
- 第一章 Android平台简介
- Android——真机无线调试
- Android学习之四大组件简单介绍
- android之Radio状态
- android studio快捷键
- Android基础 获取屏幕的宽与高
- SurfaceView的了解