大学IT网 - 最懂大学生的IT学习网站! QQ资料交流群:367606806
当前位置:大学IT网 > Android技巧 > Android -- 逐帧动画

Android -- 逐帧动画

关键词:逐帧动画Android  阅读(858) 赞(12)

[摘要]本文是对Android -- 逐帧动画的讲解,对学习Android编程技术有所帮助,与大家分享。

在处理耗时工作的时候,大多数会弹出一个加载的框,里面有一个连续旋转的图片,很多时候都是用一张图片,使用rotate来设定旋转,不过看起来不太美观,没有形象感,在3.0之前Android有两种动画效果分别是补间动画和帧动画,用一张图片实现的是使用补间动画,定义给出两个关键帧,通过一些算法将给定属性值在给定的时间内在两个关键帧间渐变。

动画布局

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

    <item
        android:drawable="@drawable/appstore"
        android:duration="200"/>
    <item
        android:drawable="@drawable/calculator"
        android:duration="200"/>
    <item
        android:drawable="@drawable/camera"
        android:duration="200"/>
    <item
        android:drawable="@drawable/clock"
        android:duration="200"/>
    <item
        android:drawable="@drawable/compass"
        android:duration="200"/>
    <item
        android:drawable="@drawable/contacts"
        android:duration="200"/>
    <item
        android:drawable="@drawable/facetime"
        android:duration="200"/>
    <item
        android:drawable="@drawable/game_center"
        android:duration="200"/>
    <item
        android:drawable="@drawable/itunes_store"
        android:duration="200"/>
    <item
        android:drawable="@drawable/mail"
        android:duration="200"/>

</animation-list>

代码

public class MainActivity extends Activity {

    private ImageView iv;
    private AnimationDrawable ani;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        iv = (ImageView) findViewById(R.id.iv);
        iv.setBackgroundResource(R.drawable.ic_list);
        ani = (AnimationDrawable) iv.getBackground();
    }

    public void click(View view) {
        ani.start();
    }

}


相关评论