Android 动画简述
来源:互联网 发布:剪切视频在线软件 编辑:程序博客网 时间:2024/06/07 02:27
同一个图形通过视图在界面上进行透明度,缩放,旋转,平移的变化(View动画)
在界面的同一个位置上不断切换显示不同的图片(Drawable动画)
View Animation
Drawable Animation
1.scale标签是缩放动画,可以实现动态调控件尺寸的效果,有下面几个属性:
android:fromXScale 起始的X方向上相对自身的缩放比例,浮点值,比如1.0代表自身无变化,0.5代表起始时缩小一倍,2.0代表放大一倍;
android:toXScale 结尾的X方向上相对自身的缩放比例,浮点值;
android:fromYScale 起始的Y方向上相对自身的缩放比例,浮点值,
android:toYScale 结尾的Y方向上相对自身的缩放比例,浮点值;
android:pivotX 缩放起点X轴坐标,可以是数值、百分数、百分数p 三种样式,比如 50、50%、50%p,当为数值时,表示在当前View的左上角,即原点处加上50px,做为起始缩放点;如果是50%,表示在当前控件的左上角加上自己宽度的50%做为起始点;如果是50%p,那么就是表示在当前的左上角加上父控件宽度的50%做为起始点x轴坐标。(具体意义,后面会举例演示)
android:pivotY 缩放起点Y轴坐标,取值及意义跟android:pivotX一样。
android:fillAfter 如果设置为true,控件动画结束时,将保持动画最后时的状态
android:fillBefore 如果设置为true,控件动画结束时,还原到开始动画前的状态
android:repeatCount 重复次数
android:repeatMode 重复类型,有reverse和restart两个值,reverse表示倒序回放,restart表示重新放一遍,必须与repeatCount一起使用才能看到效果。因为这里的意义是重复的类型,即回放时的动作。
android:interpolator 设定插值器,其实就是指定的动作效果,比如弹跳效果等,不在这小节中讲解,后面会单独列出一单讲解。
2.
alpha标签——调节透明度
1、自身属性
android:fromAlpha 动画开始的透明度,从0.0 --1.0 ,0.0表示全透明,1.0表示完全不透明
android:toAlpha 动画结束时的透明度,也是从0.0 --1.0 ,0.0表示全透明,1.0表示完全不透明
3.Rotate
android:fromDegrees 开始旋转的角度位置,正值代表顺时针方向度数,负值代码逆时针方向度数
android:toDegrees 结束时旋转到的角度位置,正值代表顺时针方向度数,负值代码逆时针方向度数
android:pivotX 缩放起点X轴坐标,可以是数值、百分数、百分数p 三种样式,比如 50、50%、50%p,具体意义已在scale标签中讲述,这里就不再重讲
android:pivotY 缩放起点Y轴坐标,可以是数值、百分数、百分数p 三种样式,比如 50、50%、50%p
4.translate标签所具有的属性为:
android:fromXDelta 起始点X轴坐标,可以是数值、百分数、百分数p 三种样式,比如 50、50%、50%p,具体意义已在scale标签中讲述,这里就不再重讲
android:fromYDelta 起始点Y轴从标,可以是数值、百分数、百分数p 三种样式;
android:toXDelta 结束点X轴坐标
android:toYDelta 结束点Y轴坐标
缩放动画
ScaleAnimation scaleAnimation = new ScaleAnimation(1f, 4f, 1f, 4f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);scaleAnimation.setDuration(1000);iv_animation.startAnimation(scaleAnimation);
旋转动画
RotateAnimation rotateAnimation = new RotateAnimation( 0,360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.ABSOLUTE, 0.5f);rotateAnimation.setDuration(1000);iv_animation.startAnimation(rotateAnimation);
透明度动画
AlphaAnimation alphaAnimation = new AlphaAnimation(0, 10);alphaAnimation.setDuration(5000);iv_animation.startAnimation(alphaAnimation);
平衡动画
TranslateAnimation translateAnimation = new TranslateAnimation(1,150,0,0);translateAnimation.setDuration(2000);iv_animation.startAnimation(translateAnimation);
复合动画
//旋转动画RotateAnimation rotateAnimation = new RotateAnimation( 0,360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.ABSOLUTE, 0.5f);rotateAnimation.setDuration(1000);//透明度动画AlphaAnimation alphaAnimation = new AlphaAnimation(0, 10);alphaAnimation.setDuration(5000);AnimationSet animationSet = new AnimationSet(false);animationSet.addAnimation(rotateAnimation);animationSet.addAnimation(alphaAnimation);iv_animation.startAnimation(animationSet);
- Android动画分类简述
- Android 动画简述
- 简述css3动画
- Android SurfaceFlinger 学习之路(三)----Android开机动画流程简述
- Silverlight2.0动画简述--关键帧动画
- android环境配置简述
- android中的指针简述
- android启动过程简述
- Android菜单简述
- android中的指针简述
- Android Camera简述
- Android-Lint的简述
- Android字体简述
- Android mediaRecorder框架简述
- Android Camera简述
- Android线程处理简述
- android 目录简述
- Android线程处理简述
- 水晶灯火灵
- com.alibaba.fastjson.JSONException: syntax error, expect {, actual int, pos 0
- 车厢重组( carry. cpp)
- 【LeetCode】String to Integer (atoi)(java)
- HTTP和servlet初学
- Android 动画简述
- 大数据试验——配置环境1
- BZOJ 1568 [JSOI2008]Blue Mary开公司
- 最长递增子序列
- 长短信发送
- 二级列表SimpleExpandableListAdapter ,ExpandableListAdapter
- go语言开发必备
- PHP对接微信公众平台消息接口开发流程详解及实例(一)
- JAVA枚举(高级)