Android 动画 - AlphaAnimation渐变动画
来源:互联网 发布:村淘宝服务站怎么赚钱 编辑:程序博客网 时间:2024/05/01 19:48
AlphaAnimation:透明度渐变动画
创建AlphaAnimation有两种方式
- XML文件+Java代码
- Java代码方式
XML文件+Java代码
这里是一个完整的Alpha动画XML动画的所有属性
文件目录:res/anim/alpha.xml
<?xml version="1.0" encoding="utf-8"?><alpha xmlns:android="http://schemas.android.com/apk/res/android" android:duration="3000" android:fillAfter="true" android:fillBefore="false" android:fromAlpha="1.0" android:interpolator="@android:anim/linear_interpolator" android:repeatCount="-1" android:repeatMode="restart" android:startOffset="2000" android:toAlpha="0.3"/>
- android:duration:动画持续的时长,单位是毫秒
- android:fillAfter:动画结束之后是否保持动画的最终状态;true,表示保持动画的最终状态
- android:fillBefore:动画结束之后是否保持动画开始前的状态;true,表示恢复到动画开始前的状态
- android:fromAlpha:动画开始的透明度,取值0.0~1.0,0.0表示完全透明,1.0表示保持原有状态不变
- android:interpolator:动画插值器。是实现动画不规则运动的一种方式,后面讲到
- android:repeatCount:动画重复的次数。指定动画重复播放的次数,如果你需要无限循环播放,请填写一个小于0的数值,我一般写-1
- android:repeatMode:动画重复的Mode,有reverse和restart两种,效果看后面
- android:startOffset:动画播放延迟时长,就是调用start之后延迟多少时间播放动画
- android:toAlpha:动画最终的透明度,取值和android:fromAlpha一样
Java代码加载XML文件动画
Toast.makeText(XmlViewAnimationActivity.this, "startAnimation", Toast.LENGTH_SHORT).show(); AlphaAnimation alphaAnimation = (AlphaAnimation) AnimationUtils.loadAnimation(XmlViewAnimationActivity.this, R.anim.alpha); mIvImg.startAnimation(alphaAnimation);
属性详解
android:duration:就不用说了,动画的持续时长
左图:android:fillAfter=”true” 右图:android:fillBefore=”true”
- 当fillAfter为true时,动画结束之后图片保持了动画最终的透明度0.3显示
- 当fillBefore为true时,动画结束之后图片恢复到了原有的透明度1.0显示
PS:这两个属性是相冲突的,设置一个就好了,不建议同时为true存在,经测试同时为true时,fillAfter的优先级要比fillBefore大,显示为fillAfter=true的状态
android:fromAlpha动画开始时的透明度。没什么好讲的,
android:interpolator动画的插值器。系统默认的是线性插值器@android:anim/linear_interpolator ,不在这里写了,下一篇文章详细写这个
android:repeatCount动画重复的次数。如果你需要指定动画重复的次数,直接写次数就好了,如果需要动画无限循环,请写一个小于0的数,一般写-1,
android:repeatMode有两种模式反转reverse和重新开始restart,看看效果就明白什么意思了
- reverse:动画是从一开始的1.0渐变成0.3,然后在从0.3渐变为1.0,重复往返
- restart:冻哈是从一开始的1.0渐变成0.3,然后图片从0.3突变为1.0,然后在渐变成0.3,重复往返,
android:startOffset动画的延迟时长,单位是毫秒
AlphaAnimation alphaAnimation = (AlphaAnimation) AnimationUtils.loadAnimation(XmlViewAnimationActivity.this, R.anim.alpha); mIvImg.startAnimation(alphaAnimation);
就是当调用mIvImg.startAnimation(alphaAnimation);之后延迟的时间
Java代码方式创建动画
用XML文件的形式创建会提供设置AlphaAnimation相应的属性,同样Java代码也提供了相应的方法去设置
public void startAlphaAnimation(){ /** * @param fromAlpha 开始的透明度,取值是0.0f~1.0f,0.0f表示完全透明, 1.0f表示和原来一样 * @param toAlpha 结束的透明度,同上 */ AlphaAnimation alphaAnimation = new AlphaAnimation(1.0f, 0.2f); //设置动画持续时长 alphaAnimation.setDuration(3000); //设置动画结束之后的状态是否是动画的最终状态,true,表示是保持动画结束时的最终状态 alphaAnimation.setFillAfter(true); //设置动画结束之后的状态是否是动画开始时的状态,true,表示是保持动画开始时的状态 alphaAnimation.setFillBefore(true); //设置动画的重复模式:反转REVERSE和重新开始RESTART alphaAnimation.setRepeatMode(AlphaAnimation.REVERSE); //设置动画播放次数 alphaAnimation.setRepeatCount(AlphaAnimation.INFINITE); //开始动画 mIvImg.startAnimation(alphaAnimation); //清除动画 mIvImg.clearAnimation(); //同样cancel()也能取消掉动画 alphaAnimation.cancel(); }
- Android 动画 - AlphaAnimation渐变动画
- AlphaAnimation渐变动画Demo
- 【Android动画九章】-AlphaAnimation(渐变动画)
- Android动画 之 Tween Animation(AlphaAnimation 透明度渐变)
- Android动画之AlphaAnimation
- android动画之AlphaAnimation(渐变动画,最简单的动画)
- Android 动画AlphaAnimation类方法
- Android 动画AlphaAnimation类方法
- Android 动画AlphaAnimation类方法
- Android 动画AlphaAnimation类方法
- Android动画之AlphaAnimation使用
- 补间动画详解二 渐变动画AlphaAnimation
- 在splash页面添加AlphaAnimation透明度渐变动画效果
- 控件渐变式显示和消失动画,AlphaAnimation
- Android动画 Tweened Animation 之 AlphaAnimation
- Android 动画之AlphaAnimation应用详解
- Android 动画之AlphaAnimation应用详解
- Android 动画之AlphaAnimation应用详解
- 滚动条滚动到底部(这里用的是 触摸事件哦 , 而且依赖jq)
- hiho 1295 数论二·Eular质数筛法【线性筛】
- Android 自动更新功能
- 翻译windows internals 第12章文件系统(持续更新)
- Java 打印数组
- Android 动画 - AlphaAnimation渐变动画
- 命名空间
- Android M新控件之AppBarLayout,NavigationView,CoordinatorLayout,CollapsingToolbarLayout的使用
- linux基础(36)--xfs文件系统管理--RHEL7.2
- jQuery实现点击除了特定div的页面其它地方,隐藏该div功能。
- Can't connect to Xtion in ROS
- LeakGanary检查内存泄漏
- Windows 窗口类型
- Jquery