Android 中 Tweened animation的实例详解
Tweened animation有四种类型,下面主要介绍Scale类型。
运行效果如下:
Android SDK提供了2种方法:直接从XML资源中读取Animation,使用Animation子类的构造函数来初始化Animation对象,第二种方法在看了Android SDK中各个类的说明就知道如何使用了,下面简要说明从XML资源中读取Animation。XML资源中的动画文件animation.xml内容为:
<?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:startOffset="3000" android:duration="3000" android:repeatCount="4"/> </set>
主文件ScaleAnimation.java内容为:
package com.android.animation; import android.app.Activity; import android.os.Bundle; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.widget.ImageView; public class TestAnimation extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ImageView imageView = (ImageView) findViewById(R.id.imageview); Animation animation = AnimationUtils.loadAnimation(this, R.anim.animation); imageView.startAnimation(animation); } }
程序很容易看懂,主要为了说明伸缩动画效果而没有增加复杂性。值得说明的是,本人在测试阶段,错误的认为不需要布局文件,把行setContentView(R.layout.main);去掉,导致程序运行一直出错。其实动画也需要首先把布局文件加载到Activity里面,然后对布局里面的控件增加动画。
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!