android animation的应用实例

<?xml version="1.0" encoding="UTF-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

	<!-- 
		Tween Animation:通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效
		
		Alpha:渐变透明度动画效果
		Scale:渐变尺寸伸缩动画效果
		Translate:画面转换位置移动动画效果
		Rotate:画面旋转动画效果
		
		Tween Animation 通用属性[类型]	功能	
			Duration[long]	属性为动画持续时间	时间以毫秒为单位
			fillAfter [boolean]	当设置为true ,该动画转化在动画结束后被应用
			fillBefore[boolean]	当设置为true ,该动画转化在动画开始前被应用
			
			interpolator	指定一个动画的插入器	有一些常见的插入器
			accelerate_decelerate_interpolator
			加速-减速 动画插入器
			accelerate_interpolator
			加速-动画插入器
			decelerate_interpolator
			减速- 动画插入器
			其他的属于特定的动画效果
			repeatCount[int]	动画的重复次数	
			RepeatMode[int]	定义重复的行为	1:重新开始  2:plays backward
			startOffset[long]	动画之间的时间间隔,从上次动画停多少时间开始执行下个动画
			zAdjustment[int]	定义动画的Z Order的改变	0:保持Z Order不变
			1:保持在最上层
			-1:保持在最下层
	
	
	 -->
	<!--
		透明控制动画 
	 -->
	<alpha
		android:fromAlpha="0.1"	
		android:toAlpha="1.0"
		android:duration="3000"
	/>
		
	<!-- 尺寸伸缩动画效果 scale
	
	
       	属性:interpolator 指定一个动画的插入器

        有三种动画插入器:
		 accelerate_decelerate_interpolator  加速-减速 动画插入器
         accelerate_interpolator        加速-动画插入器
		 decelerate_interpolator        减速- 动画插入器

        其他的属于特定的动画效果

            fromXScale 属性为动画起始时 X坐标上的伸缩尺寸    
            toXScale   属性为动画结束时 X坐标上的伸缩尺寸     

            fromYScale 属性为动画起始时Y坐标上的伸缩尺寸    
            toYScale   属性为动画结束时Y坐标上的伸缩尺寸    

            说明:
                 以上四种属性值    
                    0.0表示收缩到没有 
                    1.0表示正常无伸缩     
                    值小于1.0表示收缩  
                    值大于1.0表示放大
                    
            pivotX     属性为动画相对于物件的X坐标的开始位置
            pivotY     属性为动画相对于物件的Y坐标的开始位置
            说明:
                    以上两个属性值 从0%-100%中取值
                    50%为物件的X或Y方向坐标上的中点位置
        长整型值:
            duration  属性为动画持续时间
            说明:   时间以毫秒为单位

        布尔型值:
            fillAfter 属性 当设置为true ,该动画转化在动画结束后被应用
	-->
	<scale
		android:interpolator="@android:anim/accelerate_decelerate_interpolator"
		android:repeatCount="1"
		
		android:fromXScale="0.5"
		android:fromYScale="0.5"
		android:toXScale="1.4"		
		android:toYScale="1.4"
		android:pivotX="50%"
		android:pivotY="50%"
		android:fillAfter="false"
		android:duration="3000"
		
	/>
	<!-- 
		画面转换位置移动动画效果 translate
	
		fromXDelta toXDelta	为动画、结束起始时 X坐标上的位置	
		fromYDelta toYDelta	为动画、结束起始时 Y坐标上的位置
	 -->
	
	<translate
		android:repeatCount="2"
		android:fromXDelta="-30"
		android:fromYDelta="-30"
		android:toXDelta="-80"		
		android:toYDelta="200"
		android:duration="3000"
	/>
	<!-- 
		画面转移旋转动画效果 rotate
		
		fromDegrees	为动画起始时物件的角度	说明
			当角度为负数——表示逆时针旋转
			当角度为正数——表示顺时针旋转
			(负数from——to正数:顺时针旋转)
			(负数from——to负数:逆时针旋转)
			(正数from——to正数:顺时针旋转)
			(正数from——to负数:逆时针旋转)
			toDegrees	属性为动画结束时物件旋转的角度 可以大于360度
		pivotX
		pivotY	为动画相对于物件的X、Y坐标的开始位	说明:以上两个属性值 从0%-100%中取值
		50%为物件的X或Y方向坐标上的中点位置
	 -->
	<rotate
		android:interpolator="@android:anim/accelerate_interpolator"
		android:repeatCount="2"
		android:fromDegrees="0"
		android:toDegrees="+270"
		android:pivotX="50%"
		android:pivotY="50%"
		android:duration="3000"
	/>

</set>

用法:

加入把此动画定义用到一个TextView上,那么需要做的工作很简单:

        Animation mAnimation ;
        mAnimation = AnimationUtils.loadAnimation(this, R.anim.anim);
        TextView text = (TextView)findViewById(R.id.textview00);
        text.setAnimation(mAnimation);

此处要注意一点:

要用AnimationDrawable 的start()方法来启动动画,不管动画是否完毕,想要第二次启动动画一定要先调用它的stop()方法才可以再次启动动画。

 

 

原帖链接:http://blog.csdn.net/zhqingyun163/article/details/4770068
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值