四種簡單的動畫
1,alpha透明度變化
/**
* 透明度變化的動畫
*
* @param view
*/
public void alpha(View view) {
// 宣告動畫 完全透明--》完全不透明
AlphaAnimation aa = new AlphaAnimation(0.0f, 1.0f);
// 設定動畫播放的時間
aa.setDuration(2000);
// 重複播放的次數
aa.setRepeatCount(2);
// 倒序播放
aa.setRepeatMode(Animation.REVERSE);
iv.startAnimation(aa);
2,scale縮放動畫
/**
* 縮放動畫
*
* @param view
*/
public void scale(View view) {
ScaleAnimation sa = new ScaleAnimation(0.1f, 2.0f, 0.1f, 2.0f,
Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF,
0.5f);
// 設定動畫播放的時間
sa.setDuration(2000);
// 重複播放的次數
sa.setRepeatCount(2);
// 倒序播放
sa.setRepeatMode(Animation.REVERSE);
}
3,translate位移動畫
/**
* 位移動畫
*
* @param view
*/
public void trans(View view) {
TranslateAnimation ta = new TranslateAnimation(
Animation.RELATIVE_TO_PARENT, -0.5f,
Animation.RELATIVE_TO_PARENT, 0.5f,
Animation.RELATIVE_TO_PARENT, -0.5f,
Animation.RELATIVE_TO_PARENT, 0.5f);
ta.setDuration(2000);
// 重複播放的次數
ta.setRepeatCount(2);
// 倒序播放
ta.setRepeatMode(Animation.REVERSE);
iv.startAnimation(ta);
}
4,rotate旋轉動畫
public void rotate(View view) {
RotateAnimation ra = new RotateAnimation(0, 360,
Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF,
0.0f);
// 設定動畫播放的時間
ra.setDuration(2000);
// 重複播放的次數
ra.setRepeatCount(2);
// 倒序播放
ra.setRepeatMode(Animation.REVERSE);
iv.startAnimation(ra);
}
5,動畫的集合:一起播放
通過AnimationSet類實現~~
/**
* 動畫集合
* @param view
*/
public void set(View view){
AnimationSet set = new AnimationSet(false);//每個動畫時間變化的情況都是獨立的
ScaleAnimation sa = new ScaleAnimation(0.1f, 2.0f, 0.1f, 2.0f,
Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF,
0.5f);
// 設定動畫播放的時間
sa.setDuration(2000);
// 重複播放的次數
sa.setRepeatCount(2);
// 倒序播放
sa.setRepeatMode(Animation.REVERSE);
TranslateAnimation ta = new TranslateAnimation(
Animation.RELATIVE_TO_PARENT, -0.2f,
Animation.RELATIVE_TO_PARENT, 0.2f,
Animation.RELATIVE_TO_PARENT, -0.2f,
Animation.RELATIVE_TO_PARENT, 0.2f);
// 設定動畫播放的時間
ta.setDuration(2000);
// 重複播放的次數
ta.setRepeatCount(2);
// 倒序播放
ta.setRepeatMode(Animation.REVERSE);
RotateAnimation ra = new RotateAnimation(0, 360,
Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF,
0.0f);
// 設定動畫播放的時間
ra.setDuration(2000);
// 重複播放的次數
ra.setRepeatCount(2);
// 倒序播放
ra.setRepeatMode(Animation.REVERSE);
set.addAnimation(ra);
set.addAnimation(ta);
set.addAnimation(sa);
iv.startAnimation(set);
}
}
轉載於:https://my.oschina.net/shpxhk/blog/663295