Android动画示例

Android动画示例

Android提供了大量用于动画开发的类和接口。大部分类和接口都包含在 android.animation 包中。

Android动画使您能够在运行时更改对象的属性和行为。在Android中有多种方式可以进行动画操作。

AnimationDrawable 类提供了启动和停止动画的方法。甚至可以使用基于时间的动画。

让我们来看一个简单的Android动画示例。

activity_main.xml

只需要一个视图。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <View
             />

</RelativeLayout>

只有图片查看器。

<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/anm"
     >

</ImageView>

主Activity类

package com.javatpoint.animation;

import android.os.Bundle;
import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;
import android.widget.ImageView;

public class MainActivity extends Activity {

    ImageView anm;
     public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.logo);
            anm = (ImageView)findViewById(R.id.anm);

            anm.setBackgroundResource(R.drawable.animation);
        // the frame-by-frame animation defined as a xml file within the drawable folder

            /*
             * NOTE: It's not possible to start the animation during the onCreate.
             */
        }
     public void onWindowFocusChanged (boolean hasFocus) {
            super.onWindowFocusChanged(hasFocus);
            AnimationDrawable frameAnimation = 
                (AnimationDrawable) anm.getBackground();
            if(hasFocus) {
                frameAnimation.start();
            } else {
                frameAnimation.stop();
            }
        }

}

您需要在res/drawable-hdpi目录下创建animation.xml文件。

您需要有很多图片。在这里,我们使用了14个图片,这14个图片都位于res/drawable-mdpi目录中。

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

    <item android:drawable="@drawable/frame0" android:duration="120" />
    <item android:drawable="@drawable/frame1" android:duration="120" />
    <item android:drawable="@drawable/frame2" android:duration="120" />
    <item android:drawable="@drawable/frame3" android:duration="120" />
    <item android:drawable="@drawable/frame4" android:duration="120" />
    <item android:drawable="@drawable/frame5" android:duration="120" />
    <item android:drawable="@drawable/frame6" android:duration="120" />
    <item android:drawable="@drawable/frame7" android:duration="120" />
    <item android:drawable="@drawable/frame8" android:duration="120" />
    <item android:drawable="@drawable/frame9" android:duration="120" />
    <item android:drawable="@drawable/frame10" android:duration="120" />
    <item android:drawable="@drawable/frame11" android:duration="120" />
    <item android:drawable="@drawable/frame12" android:duration="120" />
    <item android:drawable="@drawable/frame13" android:duration="120" />
    <item android:drawable="@drawable/frame14" android:duration="120" />
    <item android:drawable="@drawable/frame14" android:duration="120" />
    <item android:drawable="@drawable/frame13" android:duration="120" />
    <item android:drawable="@drawable/frame12" android:duration="120" />
    <item android:drawable="@drawable/frame11" android:duration="120" />
    <item android:drawable="@drawable/frame10" android:duration="120" />
    <item android:drawable="@drawable/frame9" android:duration="120" />
    <item android:drawable="@drawable/frame8" android:duration="120" />
    <item android:drawable="@drawable/frame7" android:duration="120" />
    <item android:drawable="@drawable/frame6" android:duration="120" />
    <item android:drawable="@drawable/frame5" android:duration="120" />
    <item android:drawable="@drawable/frame4" android:duration="120" />
    <item android:drawable="@drawable/frame3" android:duration="120" />
    <item android:drawable="@drawable/frame2" android:duration="120" />
    <item android:drawable="@drawable/frame1" android:duration="120" />
    <item android:drawable="@drawable/frame0" android:duration="120" />

</animation-list>

输出:

Android动画示例

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程