1. 程式人生 > >四種動畫

四種動畫

convert 進行 動畫 elf 方法的參數 anim add oid 設置

1、移動補間動畫:TranslateAnimation

Animation animation = new TranslateAnimation(0,50,0,50);
參數1:x軸的起始位置
參數2:x軸的終止位置
參數3:y軸的起始位置
參數4:y軸的終止位置
相對於原圖位置的原點(圖片的右上角為0,0),如果不想用這個點作為參照點,可以使用其他構造
Animation animation = new TranslateAnimation(fromXType, fromXValue, toXType, toXValue, fromYType, fromYValue, toYType, toYValue);



參數1,參數3,參數5,參數7就是設置參照點的方式
可以通過Animation類的常量進行設置例如:Animation.RELATIVE_TO_SELF

2、縮放補間動畫:ScaleAnimation
Animation animation = new ScaleAnimation(1f,0.2f,1f,0.2f,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);

參數1:x方向起始大小(1f表示原圖大小)
參數2:x方向終止大小(0.2f表示原圖的0.2倍)
參數3:y方向起始大小(1f表示原圖大小)
參數4:y方向終止大小(0.2f表示原圖的0.2倍)
參數5:縮放中心點x軸取值的參照方式
參數6:中心點x軸的取值(0.5f表示相對與原圖的0.5倍)
參數7:縮放中心點y軸取值參照方式
參數8:中心點y軸的取值(0.5f表示相對與原圖的0.5倍)

3、旋轉補間動畫:
RotateAnimation
Animation animation = new RotateAnimation(360,0,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);
參數1:旋轉的起始角度
參數2:旋轉的終止角度
參數3:旋轉中心的x軸取值參照方式
參數4:中心點x軸的取值
參數5:旋轉中心的y軸取值參照方式
參數6:中心點y軸的取值

4、透明補間動畫:AlphaAnimation
Animation animation = new AlphaAnimation(1f,0.1f);
參數1: 起始透明度;
參數2: 目標透明度;


每種動畫都有很多種重載,可以根據需求進行選擇,如果想讓動畫有效果還得設置動畫的時間
設置動畫持續時間
animation.setDuration(2000);
以毫秒為單位

對於動畫還可以設置渲染器

android系統提供了很多渲染器資源 通過android.R.anim.的方式使用(在res目錄下的anim目錄下定義)
animation.setInterpolator(Main.this,android.R.anim.anticipate_overshoot_interpolator);


如果想要多個動畫效果同時使用,可以通過AnimationSet 實現
AnimationSet animationSet = new AnimationSet(false);
animationSet.addAnimation(animation);

得到動畫對象之後就是使用了,每個view都有startAnimation(animation)方法
因為AnimationSet繼承自Animation類所以該方法的參數既可以是動畫對象(Animation)也可以是動畫集(AnimationSet )對象

四種動畫