Animation基本功能的实现

通过一个小Dome来实现,基本的动画功能,渐变、缩放、位移、旋转。

1、通过按钮来实现单一功能,布局文件略;

2、在res文件夹下新建 anim 文件夹(不能随便取名字),anim 下新建xml文件,

(1)alpha渐变:

<span style="font-family:Microsoft YaHei;font-size:14px;"><?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:fillAfter="true">
   <!-- fromAlpha开始的透明度 -->
   <!-- duration完成该动画所需要的时间 -->
    <alpha
        android:fromAlpha="1.0"
        android:toAlpha="0.0"
        android:duration="1000"
        ></alpha>

</set></span>

(2)scale缩放

<span style="font-family:Microsoft YaHei;font-size:14px;"><?xml version="1.0" encoding="utf-8"?>
<scale xmlns:android="http://schemas.android.com/apk/res/android"
    android:pivotX="50%"
    android:pivotY="50%"
    android:fromXScale="1"
    android:toXScale="3"
    android:fromYScale="1"
    android:toYScale="3" 
    android:duration="1000">
    <!-- pivotX、 pivotY缩放的中心坐标
    fromXScale  X周缩放开始的倍数
    toXScale    X轴缩放结束的倍数-->


</scale></span>

(3)trans 位移

<span style="font-family:Microsoft YaHei;font-size:14px;"><?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXDelta="0%"
    android:toXDelta="100%p"
    android:fromYDelta="0%"
    android:toYDelta="100%p" 
    android:duration="1000">
    
    <!-- fromXDelta   开跑时X轴的位置
     toXDelta   跑结束时X轴的位置-->

</translate></span>

(4)rotate旋转

<span style="font-family:Microsoft YaHei;font-size:14px;"><?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromDegrees="0"
    android:toDegrees="360"
    android:pivotX="50%" 
    android:pivotY="50%"
    android:duration="1000">
    <!-- fromDegrees旋转的开始角度
    toDegrees旋转结束角度
    pivotX、pivotY旋转的中心点的坐标 -->

</rotate></span>



3,主代码

public class MainActivity extends Activity implements OnClickListener {
	private Button btnAlpha, btnScale, btnTran, btnRot;
	private ImageView imgv;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		imgv =(ImageView) findViewById(R.id.imgv);
		btnAlpha = (Button) findViewById(R.id.btnAlpha);
		btnScale = (Button) findViewById(R.id.btnScale);
		btnTran = (Button) findViewById(R.id.btnTran);
		btnRot = (Button) findViewById(R.id.btnRot);
		btnAlpha.setOnClickListener(this);
		btnScale.setOnClickListener(this);
		btnTran.setOnClickListener(this);
		btnRot.setOnClickListener(this);

	}

	@Override
	public void onClick(View v) {
		Animation anim = null;
		switch (v.getId()) {
		case R.id.btnAlpha:
			anim = AnimationUtils.loadAnimation(MainActivity.this, R.anim.alpha);
			break;
		case R.id.btnScale:
			anim = AnimationUtils.loadAnimation(MainActivity.this, R.anim.scale);
			break;
		case R.id.btnTran:
			anim = AnimationUtils.loadAnimation(MainActivity.this, R.anim.trans);
			break;
		case R.id.btnRot:
			anim = AnimationUtils.loadAnimation(MainActivity.this, R.anim.rotate);
			break;

		default:
			break;
		}
		imgv.startAnimation(anim);

	}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值