【转载】Android的 动画
2015-10-09 14:39
471 查看
Android的Activity屏幕切换动画-左右滑动切换
Android动画之初步(一)
Android动画效果translate、scale、alpha、rotate详解
Android动画学习笔记-Android Animation
Activity动画效果DemoAndroid的animation由四种类型组成
XML中
alpha | 渐变透明度动画效果 |
scale | 渐变尺寸伸缩动画效果 |
translate | 画面转换位置移动动画效果 |
rotate | 画面转移旋转动画效果 |
AlphaAnimation | 渐变透明度动画效果 |
ScaleAnimation | 渐变尺寸伸缩动画效果 |
TranslateAnimation | 画面转换位置移动动画效果 |
RotateAnimation | 画面转移旋转动画效果 |
Animation主要有两种动画模式:
一种是tweened animation(渐变动画)
XML中 | JavaCode |
alpha | AlphaAnimation |
scale | ScaleAnimation |
XML中 | JavaCode |
translate | TranslateAnimation |
rotate | RotateAnimation |
public void overridePendingTransition (int enterAnim, int exitAnim)
其中:
enterAnim 定义Activity进入屏幕时的动画
exitAnim 定义Activity退出屏幕时的动画
overridePendingTransition 方法必须在startActivity()或者 finish()方法的后面。
Android已经内置了几种动画效果,可以见 android.R.anim 类。一般情况下我们需要自己定义屏幕切换的效果。首先我们先了解Activity的位置定义,如下图:
从上图可以看出,以手机屏幕下面边未X轴,屏幕左边为Y轴,当Activity在X轴值为-100%p时,刚好在屏幕的左边(位置1),当X轴值为0%p时,刚好再屏幕内(位置2),当X=100%p时刚好在屏幕右边(位置3)。
fromXDelta:位置变化的起始点X坐标。
toXDelta:位置变化的结束点X坐标。
fromYDelta:位置变化的起始点Y坐标。
toYDelta:位置变化的结束点Y坐标。
这里重点提一下android:pivotX和android:pivotY和android:fromXDelta,android:toXDelta
android:pivotX="50"使用绝对坐标
android:pivotX="50%"相对自己
android:pivotX="50%p"相对父控件
清楚了位置后,我们就可以实现左右滑动的切换效果,首先让要退出的Activity从位置2移动到位置1,同时让进入的Activity从位置3移动位置2,这样就能实现从左右切换效果。
实现过程如下,首先定义2个动画,在 res目录创建anim目录, 然后在目录创建动画的xml文件:out_to_left.xml (从左边退出动画) 、in_from_right.xml(从右边进入动画)
out_to_left.xml (从 位置2 移动到 位置1)
?
?
Android 代码如下:
虽然左右滑动切换的实现很简单,但是对于原理的理解很重要,掌握了原理可以充分发挥想象力设计出各种各样的动画效果,希望对一些入门的新手有帮助。
//=================================================
相关文章推荐
- Android之应用程序开机自动启动
- android从服务器端解析json数据
- ADB工具介绍(Android Debug Bridge),摘选重点翻译,请随便喷
- 利用drozer进行Android渗透测试
- Android VelocityTracker与GestureDetector使用简介
- android与servlet通信
- android应用更新下载安装
- android图片合并: LayerDrawable层叠样式layer-list
- Android事件分发(事件传递机制)
- Android相机使用(系统相机、自定义相机、大图片处理)
- Android开发最佳实践
- Android--判断当前线程是否是主线程
- 将Android程序部署至真实Android手机以及asm.jar的运行
- android在线源码地址
- android中自定义的对话框中的EditText无法弹出输入法解决方案
- Android开发规范与编码规范
- Android:Layout_weight的深刻理解
- Android开发从相机或相册获取图片裁剪
- Android解耦库EventBus的使用和源码分析
- Android NetworkOnMainThreadException异常处理