Android中xml設置Animation動畫效果詳解

Android中,Animation動畫效果的實現能夠經過兩種方式進行實現,一種是tweened animation漸變更畫,另外一種是frame by frame animation畫面轉換動畫。linux

tweened animation漸變更畫有如下兩種類型:android

1.alpha   漸變透明度動畫效果ide

2.scale   漸變尺寸伸縮動畫效果動畫

frame by frame animation畫面轉換動畫有如下兩種類型:this

1.translate  畫面轉換位置移動動畫效果spa

2.rotate    畫面轉移旋轉動畫效果xml

在res文件夾下新建一個anim的文件夾,並在其中創建一個animation.xml文件,具體以下:htm

<?xml version=」1.0″ encoding=」utf-8″?>對象

<setutf-8

xmlns:android=」http://schemas.android.com/apk/res/android」>

<translate

android:fromXDelta=」0″              //設置動畫開始時x座標的位置

android:toXDelta=」-100%p」 //設置動畫結束時x座標的位置

android:duration=」300″        //設置動畫持續的時間 300毫秒

>

</translate>

<alpha

android:fromAlpha=」1.0″            //設置動畫開始時的透明度  1.0表明不透明

android:toAlpha=」0.0″   //設置動畫開始時的透明度  0.0表示徹底透明

android:duration=」300″ //設置動畫持續的時間 300毫秒

/>

<scale

android:interpolator=」              //設置動畫出入器

@android:anim/accelerate_decelerate_interpolator」

android:fromXScale=」0.0″       //設置動畫開始時x座標上的伸縮長度

android:toXScale=」1.4″            //設置動畫結束時x座標上的伸縮長度

android:fromYScale=」0.0″       //設置動畫開始時y座標上的伸縮長度

android:toYScale=」1.4″     //設置動畫開始時y座標上的伸縮長度

android:pivotX=」50%」      //設置動畫相對於控件的x座標的位置

android:pivotY=」50%」      //設置動畫相對於控件的y座標的位置

android:fillAfter=」false」    //該動畫轉化在動畫結束前開始應用

android:duration=」700″ //設置動畫持續的時間

/>

<rotate

android:interpolator=            //設置動畫出入器

「@android:anim/accelerate_decelerate_interpolator」

android:fromDegrees=」0″     //設置動畫開始時的角度

android:toDegrees=」+350″           //設置動畫結束時的旋轉角度

android:pivotX=」50%」         //設置動畫相對於控件的x座標的位置

android:pivotY=」50%」         //設置動畫相對於控件的y座標的位置

android:duration=」3000″       //設置動畫持續的時間

/>

</set>

利用AnimationUtils.loadAnimation將動畫加載

Animation animation;

animation=AnimationUtils.loadAnimation(this, R.anim.animation);

而後再想要實現動畫效果的控件上經過使用startAnimation()方法進行添加。

//編寫動畫對象,而且獲取自定應的動畫樣式

animation=AnimationUtils.loadAnimation(this, R.anim.animation);

spinner.setOnTouchListener(new Spinner.OnTouchListener() {

 

@Override

public boolean onTouch(View v, MotionEvent event) {

// TODO Auto-generated method stub

//運行動畫animation

v.startAnimation(animation);

//將spinner的可見性設置爲不可見狀態

v.setVisibility(View.INVISIBLE);

return false;

}

});

 

文章轉自:http://www.linuxidc.com/Linux/2011-04/34472.htm

相關文章
相關標籤/搜索