Android自定义视图动画(一)

一)旋转动画(Rotate Animation):以一个按钮视图为例进行旋转,点击按钮触发旋转,有两种方法可以实现,在代码中或在资源文件中,效果是一样的。

1)在代码中配置旋转参数

		@Override
	        public void onClick(View v) {
         RotateAnimation ra=new RotateAnimation(0, 360, 100, 50); //绕像素点为(100,50)的中心点360度旋转
   //    RotateAnimation ra=new RotateAnimation(0,360,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF, 0.5f);  //以自身的百分之五十为中心旋转360度             
		 ra.setDuration(2000);//旋转时间为2s
                 v.startAnimation(ra);
                  


2)在资源文件(xml)中配置旋转参数

新建xml文件,Resources Typed 选择Tween Animation,Root Element 选择rotate,命名为ra,注意这里的pivotX和pivotY的值如果设置为百分数,就意味着以自身的百分之多少为中心进行旋转;如果设置为整数值,代表以像素点为旋转中心

<?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="2000">
    

</rotate>

然后在代码中添加一行

v.startAnimation(AnimationUtils.loadAnimation(MainActivity.this, R.anim.ra));


二)透明动画(Alpha Animation):以一个按钮视图为例,点击后显示透明动画效果

1)在代码中配置

	                @Override
			public void onClick(View v) {
				AlphaAnimation aa=new AlphaAnimation(0, 1);//透明值从0到1
				aa.setDuration(2000);//时间为2S
			    v.startAnimation(aa);


2)在xml文件里配置

新建xml文件,Resources Typed 选择Tween Animation,Root Element 选择alpha,命名为aa

<?xml version="1.0" encoding="utf-8"?>
<alpha  xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromAlpha="0"
    android:toAlpha="1"
    android:duration="2000">
</alpha>

然后在代码里添加一行

v.startAnimation(AnimationUtils.loadAnimation(MainActivity.this, R.anim.aa));


三)移动动画(Translate Animation)

1)在代码中配置参数

	
			@Override
			public void onClick(View v) {
		         TranslateAnimation ta=new TranslateAnimation(0,200,0, 200);//相对于自己所在的位置往右和往下分别移动了200像素
		              ta.setDuration(2000);
			      v.startAnimation(ta);


2)在xml中配置参数

新建xml文件,Resources Typed 选择Tween Animation,Root Element 选择translate,命名为ta

<?xml version="1.0" encoding="utf-8"?>
<translate 
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:fromXDelta="0"
     android:toXDelta="200"
     android:fromYDelta="0"
     android:toYDelta="200"
     android:duration="2000">
    

</translate>

然后再代码中添加一句

v.startAnimation(AnimationUtils.loadAnimation(MainActivity.this,R.anim.ta));


四)缩放动画(Scale Animation)

1)在代码中配置参数,参数里的1代表缩放之后回复到和原来一样大小

			@Override
			public void onClick(View v) {
        ScaleAnimation sa=new ScaleAnimation(0, 1,0,1);//默认的从左上角开始缩放,值为1代表恢复到原状
//	ScaleAnimation sa=new ScaleAnimation(0, 1, 0, 1, 100, 50);//基于像素点(100,50)进行缩放
//	ScaleAnimation sa=new ScaleAnimation(0, 1, 0, 1,Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);//基于自身的位置的0.5进行缩放		
        sa.setDuration(2000);	
	v.startAnimation(sa);

2)在xml中配置

新建xml文件,Resources Typed 选择Tween Animation,Root Element 选择scale,命名为sa

<?xml version="1.0" encoding="utf-8"?>
<scale  xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXScale="0"
    android:toXScale="1"
    android:fromYScale="0"
    android:toYScale="1"
    android:pivotX="50%"
    android:pivotY="50%"
    android:duration="2000"
>    

</scale>

然后再代码中添加一行

v.startAnimation(AnimationUtils.loadAnimation(MainActivity.this, R.anim.sa));










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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值