Mono For Android中简单实现按钮的动画效果

Android中动画的分Tween Animation和Frame Animation,本节主要讲Tween Animation的实现。

一般是通过XML文件来定义动画的,具体如下:

  1、在项目res目录(Java环境)或者项目resource目录下(Mono环境)新建anim文件夹,在该文件夹下添加相应的定义animation的xml文件,即文件位置:

  res/anim/filename.xml(Java环境)

  resource/anim/filename.xml(Mono环境)

  xml文件定义的格式如下:(参考示例http://developer.android.com/guide/topics/resources/animation-resource.html

<?xml version="1.0" encoding="utf-8"?>
<setxmlns:android="http://schemas.android.com/apk/res/android"
   
android:interpolator="@[package:]anim/interpolator_resource"
   
android:shareInterpolator=["true" | "false"] >
   
<alpha
       
android:fromAlpha="float"
       
android:toAlpha="float"/>
   
<scale
       
android:fromXScale="float"
       
android:toXScale="float"
       
android:fromYScale="float"
       
android:toYScale="float"
       
android:pivotX="float"
       
android:pivotY="float"/>
   
<translate
       
android:fromXDelta="float"
       
android:toXDelta="float"
       
android:fromYDelta="float"
       
android:toYDelta="float"/>
   
<rotate
       
android:fromDegrees="float"
       
android:toDegrees="float"
       
android:pivotX="float"
       
android:pivotY="float"/>
   
<set>
        ...
   
</set>
</set>

  以上示例说明:
  1、xml文件只能有一个根元素,为set、alpha、rotate、translate、scale之一,其中set可以十多个元素的组合,且set可以嵌套。
  2、xml元素的具体属性有哪些可以参考官方文档。
  官方文档应用的示例如下:

 
animation.xml文件: 
<setxmlns:android="http://schemas.android.com/apk/res/android"
   
android:shareInterpolator="false">
   
<scale
       
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
       
android:fromXScale="1.0"
       
android:toXScale="1.4"
       
android:fromYScale="1.0"
       
android:toYScale="0.6"
       
android:pivotX="50%"
       
android:pivotY="50%"
       
android:fillAfter="false"
       
android:duration="700"/>
   
<set
       
android:interpolator="@android:anim/accelerate_interpolator"
       
android:startOffset="700">
       
<scale
           
android:fromXScale="1.4"
           
android:toXScale="0.0"
           
android:fromYScale="0.6"
           
android:toYScale="0.0"
           
android:pivotX="50%"
           
android:pivotY="50%"
           
android:duration="400"/>
       
<rotate
           
android:fromDegrees="0"
           
android:toDegrees="-45"
           
android:toYScale="0.0"
           
android:pivotX="50%"
           
android:pivotY="50%"
           
android:duration="400"/>
   
</set>
</set>
调用代码如下:

ImageView image =(ImageView) findViewById(R.id.image);
Animation animation =AnimationUtils.loadAnimation(this, R.anim.animation);
image
.startAnimation(animation);

你会发现你的image按钮应用上了动画效果,很简单吧,然后通过组合,随便尝试会发现更多很炫的效果的。


posted @ 2013-11-18 23:08  荏苒追寻  阅读(692)  评论(0编辑  收藏  举报