属性动画

//属性动画

//ObjectAnimator.ofFloat(target,propertyName,values);//propertyName属性名称

/**
	 * 透明度
	 * @param view
	 */
	public void alpha(View view){
		//iv.setAlpha(alpha);
		//iv.getAlpha()
		//透明度从0.0f->0.2f->0.4f->0.6f->0.8f->1.0f (完全透明0.0f ---> 完全不透明1.0f )
		ObjectAnimator oa = ObjectAnimator.ofFloat(iv, "alpha", 0.0f,0.2f,0.4f,0.6f,0.8f,1.0f);
		oa.setDuration(4000);
		oa.setRepeatMode(ObjectAnimator.REVERSE);
		oa.setRepeatCount(ObjectAnimator.INFINITE);
		oa.start();
	}

/**
	 * 旋转动画
	 * @param view
	 */
	public void rotate(View view){
		//iv.setRotation(rotation)
		//iv.setRotationX(rotationX)//围绕x轴方向
		//iv.setRotationY(rotationY)//围绕y轴方向
		//0度旋转到30度到60度到90度
		ObjectAnimator oa = ObjectAnimator.ofFloat(iv, "rotationX", 0.0f,30f,60.0f,90f);
		oa.setDuration(2000);
		oa.setRepeatMode(ObjectAnimator.REVERSE);
		oa.setRepeatCount(ObjectAnimator.INFINITE);
		oa.start();
	}

/**
	 * 缩放
	 * @param view
	 */
	public void scale(View view){
		//iv.setScaleX(scaleX);
		//放大  0.0->0.2倍->0.5倍->2.0倍
		ObjectAnimator oa = ObjectAnimator.ofFloat(iv, "scaleY", 0.0f,0.2f,0.5f,2.0f); //竖直方向
		oa.setDuration(2000);
		oa.setRepeatMode(ObjectAnimator.REVERSE);
		oa.setRepeatCount(ObjectAnimator.INFINITE);
		oa.start();
	}

/**
	 * 位移
	 * @param view
	 */
	public void trans(View view){
		//iv.setTranslationX(translationX)
		//x方向从0->10.0f->20.0f->30.0f->40.0f->100.0f->200.0f
		ObjectAnimator oa = ObjectAnimator.ofFloat(iv, "translationX", 0,10.0f,20.0f,30.0f,40.0f,100.0f,200.0f);//iv为ImageView控件
		oa.setDuration(5000);
		oa.setRepeatCount(ObjectAnimator.INFINITE);//一直重复
		oa.setRepeatMode(ObjectAnimator.REVERSE);
		oa.start();

	}

public void set(View view){
		//动画的集合
		AnimatorSet set = new AnimatorSet();
		ObjectAnimator oa = ObjectAnimator.ofFloat(iv, "rotation", 0.0f,30f,60.0f,90f);
		oa.setDuration(4000);
		ObjectAnimator oa2 = ObjectAnimator.ofFloat(iv, "translationX", 0.0f,10f,20,40f,60f,100f,200f,600f);
		oa2.setDuration(2000);
		//set.playSequentially(oa,oa2);//按顺序播放,先播放oa,再播放oa2
		set.playTogether(oa,oa2);//一起同时播放	
		set.start();
	}

属性动画和补间动画的区别:
补间动画:控件仍停留在原来位置(实际位置没有改变)
属性动画:动画过程中控件位置发生了改变
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值