Android——Animation
Android中的动画:
一、分类:TweenAnimation(补间动画)和FrameAnimation(帧动画)。
TweenAnimation,通过对图像不断做变换产生动画效果,是一种渐变效果;
AlphaAnimation:透明度渐变;
ScaleAnimation:尺寸缩放;
TranslateAnimation:移动
RotateAnimation:旋转
FrameAnimation:顺序播放事先做好的图像是一种转换动画;
二、属性简介:
TweenAnimation共同属性:
android:duration [long] :动画持续的时间;
android:fillAfter [boolean]:视图停在动画结束的位置,但是真正的位置仍然是布局中给定位置;
android:fillBefore[boolean]:视图停在动画开始的位置;
android:interpolator :指定一个动画的插入器,常用的插入器有:
accelerater_decelerate_interpolator:加速-减速 动画插入器
accelerater_interpolator:加速动画插入器;
deceleratr_interpolator:减速动画插入器;
android:repeatCount[int]:动画重复次数,-1表示无限循环;
android:repeatMode[int]:定义动画重复的行为,1,从起点重新开始;2,从结束位置开始相反执行;
android:startOffset[long]:动画之间的时间间隔,从上次动画停多少时间开始执行下个动画;
android:zAdjustment[int]:定义动画的Z order的改变,0:保持Z Order不变;1:保持在最上层;-1保持在最下层;(????待验证)
1.1 AlphaAnimation
xml中定义
<!--<alphaandroid:fromAlpha=""开始时的透明度,0.0-1.0--><!--android:toAlpha=""结束时的透明度0.0-1.0--><!--android:duration=""动画持续的时间/>-->
代码中定义:
//fromAlpha:开始时的透明度,toAlpha:结束时的透明度AlphaAnimationalpha=newAlphaAnimation(fromAlpha,toAlpha);//设置动画持续的时间alpha.setDuration(durationMillis);
1.2 ScaleAnimation
xml
<!--<scale--><!--android:fromXScale=""动画起始时X坐标上的伸缩尺寸--><!--android:toXScale=""动画结束时X坐标上的伸缩尺寸--><!--android:fromYScale=""动画起始时Y轴上的伸缩尺寸--><!--android:toYScale=""动画结束时Y轴上的伸缩尺寸--><!--android:pivotX=""动画相对于物件的X坐标的开始位置--><!--android:pivotY=""动画相对与物件Y坐标的开始位置--><!--/>-->
代码中
ScaleAnimationscale=newScaleAnimation(fromX,toX,fromY,toY);
1.3 TranslateAnimation
xml
<translateandroid:fromXDelta="0%"//x轴起始位置android:pivotX="0%"//动画相对于物件X坐标的开始位置android:pivotY="0%"//动画相对于物件Y坐标的开始位置android:toXDelta="30%"//x轴的结束位置android:fromYDelta="0%"//y轴起始位置android:toYDelta="0%"//y轴结束位置android:duration="10000"/>
代码中:
TranslateAnimationanim=newTranslateAnimation(fromXDelta,toXDelta,fromYDelta,toYDelta)
1.4 RotateAnimation
xml
<!--<rotate--><!--android:fromDegrees=""动画起始时物件的角度--><!--android:toDegrees=""动画结束时物件旋转的角度--><!--角度为负表示逆时针旋转,角度为正表示顺时针旋转--><!--android:pivotX=""动画相对于物件X坐标的开始位置--><!--android:pivotY=""动画相对与物件Y坐标的开始位置--><!--android:duration=""动画运行时间/>-->
代码:
ScaleAnimationanim=newScaleAnimation(fromX,toX,fromY,toY)
2.xml定义动画在activity中的使用:
Animationanimation=(Animation)AnimationUtils.loadAnimation(MainActivity.this,R.anim.animation);
3.插值器的使用
4.FrameAnimation:帧动画
添加图片,按照添加图片的顺序播放;
AnimationDrawableanima=newAnimationDrawable();anima.addFrame(drawable1,duration1);anima.addFrame(drawable2,duration2);anima.addFrame(drawable3,duration3);anima.addFrame(drawable4,duration4);view.setBackgroudDrawable(anima);
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。