Android 动画使用详解(二) 补间动画
来源:互联网 发布:matlab做无标度网络 编辑:程序博客网 时间:2024/05/16 05:41
动画在Android 开发中经常会被用到,好的动画效果可以达到事半功倍的效果。补间动画也是Android中常用的动画之一,相对属性动画来说,补间动画的点击事件不会跟着动画的位置变化而变化。后续将逐渐被属性动画替代。
- 透明动画 AlphaAnimation
- 旋转动画 ScaleAnimation
- 缩放动画 RotateAnimation
- 平移动画 TranslateAnimation
- 动画集合 AnimationSet
- XML 实现4种动画效果
欢迎关注微信公众号:程序员Android
公众号ID:ProgramAndroid
获取更多信息
我们不是牛逼的程序员,我们只是程序开发中的垫脚石。
我们不发送红包,我们只是红包的搬运工。
1. 透明动画
- AlphaAnimation
/** * 透明度动画AlphaAnimation 从不透明到完全透明 * **/ // 起始透明度 到结束透明度 不透明到透明(1f-0f) AlphaAnimation alphaAnimation = new AlphaAnimation(0.0f, 1.0f); // 动画执行时间 alphaAnimation.setDuration(4000); // 设置重复次数 alphaAnimation.setRepeatCount(2); // 重复模式 alphaAnimation.setRepeatMode(Animation.RESTART); // alphaAnimation.setRepeatMode(Animation.REVERSE); // 保持结束时候的状态 alphaAnimation.setFillAfter(true); mImageView.startAnimation(alphaAnimation);
2. 旋转动画
- RotateAnimation
/** * 旋转动画RotateAnimation,旋转360度 **/ RotateAnimation rotateAnimation = new RotateAnimation(0, 360); rotateAnimation.setDuration(2000); rotateAnimation.setRepeatCount(2); mImageView.startAnimation(rotateAnimation);
3. 缩放动画
- ScaleAnimation
/** * 缩放动画 ScaleAnimation使用方法 缩放2倍 * */ ScaleAnimation scaleAnimation = new ScaleAnimation(1, 2, 1, 2); scaleAnimation.setDuration(2000); scaleAnimation.setRepeatCount(2); scaleAnimation.setRepeatMode(Animation.RESTART); mImageView.startAnimation(scaleAnimation);
4. 平移动画
- TranslateAnimation
/*** * 平移动画TranslateAnimation 从x,y 轴 从(0,0)平移到(300,200) * **/ TranslateAnimation translateAnimation = new TranslateAnimation(0, 300.f, 0, 200.f); translateAnimation.setDuration(2000); translateAnimation.setRepeatCount(2); translateAnimation.setRepeatMode(Animation.RESTART); mImageView.startAnimation(translateAnimation);
5. 动画集合
- AnimationSet
/*** * 动画集合使用效果如下: * ***/ AnimationSet sets = new AnimationSet(true); AlphaAnimation alphaAnimation1 = new AlphaAnimation(0.0f, 1.0f); TranslateAnimation translateAnimation1 = new TranslateAnimation(0, 100.f, 0, 100.f); RotateAnimation rotateAnimation1 = new RotateAnimation(0, 360); ScaleAnimation scaleAnimation1 = new ScaleAnimation(1, 2, 1, 2); // 将动画添加到set集合中 sets.addAnimation(alphaAnimation1); sets.addAnimation(translateAnimation1); sets.addAnimation(rotateAnimation1); sets.addAnimation(scaleAnimation1); sets.setDuration(4000); sets.setRepeatCount(2); sets.setRepeatMode(Animation.RESTART); mImageView.startAnimation(sets);
6. XML 实现动画效果
- 1.动画的XML文件所属的res/anim/hyperspace_jump.xml
<set android:shareInterpolator="false"> <scale android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:fromXScale="1.0" android:toXScale="1.4" android:fromYScale="1.0" android:toYScale="0.6" android:pivotX="50%" android:pivotY="50%" android:fillAfter="false" android:duration="700" /> <set android:interpolator="@android:anim/decelerate_interpolator"> <scale android:fromXScale="1.4" android:toXScale="0.0" android:fromYScale="0.6" android:toYScale="0.0" android:pivotX="50%" android:pivotY="50%" android:startOffset="700" android:duration="400" android:fillBefore="false" /> <rotate android:fromDegrees="0" android:toDegrees="-45" android:toYScale="0.0" android:pivotX="50%" android:pivotY="50%" android:startOffset="700" android:duration="400" /> </set></set>
- 2.为图片Load 动画xml文件
ImageView spaceshipImage = (ImageView) findViewById(R.id.spaceshipImage); Animation hyperspaceJumpAnimation = AnimationUtils.loadAnimation(this, R.anim.hyperspace_jump); spaceshipImage.startAnimation(hyperspaceJumpAnimation);
至此补间动画已经完成。
欢迎关注微信公众号:程序员Android
公众号ID:ProgramAndroid
获取更多信息
我们不是牛逼的程序员,我们只是程序开发中的垫脚石。
我们不发送红包,我们只是红包的搬运工。
点击阅读原文,获取更多福利
阅读全文
0 0
- Android 动画使用详解(二) 补间动画
- Android动画详解(二) 补间动画
- Android动画 帧动画、补间动画、属性动画 (二)
- android动画(二)补间动画
- Android动画详解-补间动画-AnimationSet
- android 补间动画详解
- 补间动画使用详解
- Android 属性动画,补间动画,xml资源动画详解
- Android动画详解-补间动画-activity切换动画实现
- 补间动画详解二 渐变动画AlphaAnimation
- Android 动画-----补间动画
- Android动画--补间动画
- Android补间动画xml法(二)
- android动画 -- 帧动画 补间动画
- Android动画-帧动画&补间动画
- Android自助餐之动画(二)补间动画
- Android 动画解析(二) 补间动画(Tween Animation)
- android 学习随笔二十五(动画:补间动画)
- 欢迎使用CSDN-markdown编辑器
- HDU 3507 Print Article(斜率优化dp)
- Android 动画使用详解(一) 帧动画
- 前端代码编写规范
- mysql笔记—group BY
- Android 动画使用详解(二) 补间动画
- 《iOS APP 性能检测》
- Java配置----JDK开发环境搭建及环境变量配置
- Redis安装及主从配置
- Android 动画使用详解(三) 属性动画
- K近邻算法
- 实验二 创建学生成绩-静态链表
- 常见的dos命令及nodejs监听配置
- SpringMVC统一转换null值为空字符串的方法