安卓开发中如何在XML文件中定义动画

 如何在XML文件中定义动画,来看下面的具体步骤:

  打开Eclipse,新建Android工程

  在res目录中新建anim文件夹

  在anim目录中新建一个myanim.xml(注意文件名小写)

  加入XML的动画代码

  <?xml version="1.0" encoding="utf-8"?>

  <set xmlns:android="http://schemas.android.com/apk/res/android">

  <alpha/>

  <scale/>

  <translate/>

  <rotate/>

  </set>

  Android动画解析--XML

  <alpha>

  <?xml version="1.0" encoding="utf-8"?>

  <set xmlns:android="http://schemas.android.com/apk/res/android" >

  <alpha

  android:fromAlpha="0.1"

  android:toAlpha="1.0"

  android:duration="3000"/>

  <!-- 透明度控制动画效果 alpha

  ‍ 浮点型值:

  fromAlpha 属性为动画起始时透明度

  toAlpha 属性为动画结束时透明度

  说明:

  0.0表示完全透明

  1.0表示完全不透明

  以上值取0.0-1.0之间的float数据类型的数字

  长整型值

  duration 属性为动画持续时间

  说明:

  时间以毫秒为单位

  </set>

  <scale>

  <?xml version="1.0" encoding="utf-8"?>

  <set xmlns:android="http://schemas.android.com/apk/res/android">

  <scale

  android:interpolator= "@android:anim/accelerate_decelerate_interpolator"

  android:fromXScale="0.0"

  android:toXScale="1.4"

  android:fromYScale="0.0"

  android:toYScale="1.4"

  android:pivotX="50%"

  android:pivotY="50%"

  android:fillAfter="false"

  android:duration="700" />

  </set>

  <!-- 尺寸伸缩动画效果 scale

  属性:interpolator 指定一个动画的插入器

  在我试验过程中,使用android.res.anim中的资源时候发现

  有三种动画插入器:

  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 ,该动画转化在动画结束后被应用

  <translate>

  <?xml version="1.0" encoding="utf-8"?>

  <set xmlns:android="http://schemas.android.com/apk/res/android">

  <translate

  android:fromXDelta="30"

  android:toXDelta="-80"

  android:fromYDelta="30"

  android:toYDelta="300"

  android:duration="2000"

  />

  <!-- translate 位置转移动画效果

  整型值:

  fromXDelta 属性为动画起始时 X坐标上的位置

  toXDelta 属性为动画结束时 X坐标上的位置

  fromYDelta 属性为动画起始时 Y坐标上的位置

  toYDelta 属性为动画结束时 Y坐标上的位置

  注意:

  没有指定fromXType toXType fromYType toYType 时候,

  默认是以自己为相对参照物

  长整型值:

  duration 属性为动画持续时间

  说明: 时间以毫秒为单位

  </set>

  <rotate>

  <?xml version="1.0" encoding="utf-8"?>

  <set xmlns:android="http://schemas.android.com/apk/res/android">

  <rotate android:interpolator="@android:anim/accelerate_decelerate_interpolator"

  android:fromDegrees="0"

  android:toDegrees="+350"

  android:pivotX="50%"

  android:pivotY="50%"

  android:duration="3000" />

  <!-- rotate 旋转动画效果

  属性:interpolator 指定一个动画的插入器

  在我试验过程中,使用android.res.anim中的资源时候发现

  有三种动画插入器:

  accelerate_decelerate_interpolator 加速-减速 动画插入器

  accelerate_interpolator 加速-动画插入器

  decelerate_interpolator 减速- 动画插入器

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

  浮点数型值:

  fromDegrees 属性为动画起始时物件的角度

  toDegrees 属性为动画结束时物件旋转的角度 可以大于360度

  说明:

  当角度为负数——表示逆时针旋转

  当角度为正数——表示顺时针旋转

  (负数from——to正数:顺时针旋转)

  (负数from——to负数:逆时针旋转)

  (正数from——to正数:顺时针旋转)

  (正数from——to负数:逆时针旋转)

  pivotX 属性为动画相对于物件的X坐标的开始位置

  pivotY 属性为动画相对于物件的Y坐标的开始位置

  说明: 以上两个属性值 从0%-100%中取值

  50%为物件的X或Y方向坐标上的中点位置 长整型值:

  duration 属性为动画持续时间

  说明: 时间以毫秒为单位

  </set>

  Java 文件调用

  Button button=(Button)findViewById(R.id.ok)

  button.setOnClickListener(new OnClickListener(){

  public void onClick(View v) {

  Animation animation=AnimationUtils.loadAnimation(HelloActivity.this,R.anim.buttonain);

  findViewById(R.id.listView).startAnimation(animation);

  }

  });

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值