android動畫介紹--Animation 實現loading動畫效果
Animation的使用方法並不難。這裡簡單的介紹一下使用方法。
先看:
效果還是不錯的吧。 下面來看看使用方法。
動畫效果是通過Animation來實現的,一共有四種,分別為:
AlphaAnimation : 漸層透明度動畫
ScaleAnimation: 尺寸漸層動畫
TranslateAnimation: 水平移動動畫
RotateAnimation: 旋轉動畫
那麼為了實現我的上的效果呢。我們所有的動畫都使用到了。
首先我們在Activity的布局檔案中加入一個ImageView和一個TextView,使他們在布局置中。
然後修改MainActivity.java
先把需要聲明的屬性聲明
private ImageView mImageView; private TextView mTextView; private AnimationSet mImageAni; private AnimationSet mTextAni;
這裡由於 ImageView 和TextView都使用了組合的動畫效果,所以需要有兩個容器 AnimationSet來存放動畫效果。
來看一下兩個容器裡具體放了什麼動畫
TranslateAnimation ta = new TranslateAnimation(200,0,300,0); ta.setDuration(5000); RotateAnimation ra = new RotateAnimation(0,360, Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f); ra.setDuration(5000); mImageAni.addAnimation(ta); mImageAni.addAnimation(ra);
mImageAni裡存放了 一個TranslateAnimation 也就是水平移動動畫,他的參數是從哪裡到哪裡,這裡是從200-->0,300-->0,之後調用setDuration()方法來設定動畫效果持續的時間。另外一個是RotateAnimation, 也就是旋轉動畫。他的參數是從多少度到多少度(0-->360),後面幾個參數是從自身為基準,50% 也就是中心點旋轉.
這兩個動畫效果組合起來就實現了小圓球的旋轉效果。
接下來來看一下mTextAni
ScaleAnimation sa = new ScaleAnimation(0,2.5f,0,2.5f,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f); sa.setDuration(5000); AlphaAnimation aa = new AlphaAnimation(0,1); aa.setDuration(5000); mTextAni.addAnimation(sa); mTextAni.addAnimation(aa);
第一個動畫效果是ScaleAnimation 也就是縮放效果動畫,他的參數與平移相似,從多少擴大到多少,後面的參數也是以自身為基準的50%,也就是中心。
而AlphaAnimation 透明動畫的參數就比較簡單,它的參數為從透明度多少到透明度多少,這裡是從消失到顯示.
最後我們給ImageView 添加一個監聽事件,點擊的時候播放動畫效果
mImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { mImageView.startAnimation(mImageAni); mTextView.startAnimation(mTextAni); } });
大功告成! 快去試試吧,另外如果你感興趣,還可以看看其他的參數,和怎樣用xml來實現動畫。