安卓动画基础讲解


//逐帧动画
/**
* 1.加入单张图片
* 2.生成movie.xml整个图片
* 3.代码中使用图片movie.xml
*/
iv=(ImageView) findViewById(R.id.iv);
// iv.setImageResource(R.drawable.movie);//为iv加载六张图片
// AnimationDrawable ad=(AnimationDrawable) iv.getDrawable();//得到图片给动画图片
// ad.start();

DisplayMetrics dm = new DisplayMetrics();
getWindow().getWindowManager().getDefaultDisplay().getMetrics(dm);
int width = dm.widthPixels;//得到屏幕宽度

//补间动画,平移
//1.通过代码直接写
// Animation translate=new TranslateAnimation(0, width, 0, 0);
// translate.setDuration(2000);
// translate.setFillAfter(true);//动画完成后,留在原位

// translate.setRepeatCount(2);//重复2次
// translate.setStartOffset(1000);//等待1秒后再动

// iv.startAnimation(translate);

//2.调用xml文件
Animation translate=AnimationUtils.loadAnimation(this, R.anim.push_to_right);
iv.startAnimation(translate);
//iv.setAnimation(translate);也行

//动画监听事件
translate.setAnimationListener(new AnimationListener() {

@Override
public void onAnimationStart(Animation animation) {

}

@Override
public void onAnimationRepeat(Animation animation) {

}

@Override
public void onAnimationEnd(Animation animation) {
Intent intent=new Intent(MainActivity.this,SecondAty.class);
startActivity(intent);
finish();

}
});

}

 

// 旋转动画
// 角度从0到360,pivotXType取谁的X值(界面的?就自身这个图片) pivotYType
// Animation rotator = new RotateAnimation(0, 360,
// RotateAnimation.RELATIVE_TO_SELF, 0.5f,
// RotateAnimation.RELATIVE_TO_SELF, 0.5f);
// rotator.setDuration(3000);
// rotator.setFillAfter(true);
// iv.startAnimation(rotator);

// 渐变
// Animation alpha = new AlphaAnimation(0, 0.9f);//从看不见到看到90%
// alpha.setDuration(3000);
// alpha.setFillAfter(true);
// iv.startAnimation(alpha);

// 拉伸
// fromX, toX, fromY, toY平移动画的四个参数,x轴伸缩尺寸,y轴伸缩尺寸
//ScaleAnimation.RELATIVE_TO_SELF, 3f//X轴坐标是自己图片宽度的3倍
Animation scale = new ScaleAnimation(0, 0.3f, 0, 0.5f,
ScaleAnimation.RELATIVE_TO_SELF, 3f,
ScaleAnimation.RELATIVE_TO_SELF, 3f);
scale.setDuration(3000);
scale.setFillAfter(true);
iv.startAnimation(scale);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值