Android动画Drawable Animation

Drawable Animation是逐帧动画,那么使用它之前必须先定义好各个帧。我们可以通过代码定义,也可以使用xml文件定义,一般使用后者。如下:

<?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/icon_aboutus" android:duration="200" />
    <item android:drawable="@drawable/icon_join_menu" android:duration="200" />
    <item android:drawable="@drawable/icon_join_opinion" android:duration="200" />
</animation-list>

其中android:oneshot=“true”表示该动画只播放一次,等于false时则循环播放。<item/>标签定义各个帧显示的图片。显示顺序依照<item/>定义顺序。

再看主界面的activity:

public class MainActivity extends Activity {
    public ImageView iv_start;
    public ImageView iv_stop;
    public ImageView iv_animation;
    public AnimationDrawable drawableAnimation;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        iv_start = (ImageView) findViewById(R.id.iv_start);
        iv_stop = (ImageView) findViewById(R.id.iv_stop);
        iv_animation = (ImageView) findViewById(R.id.iv_animation);
        iv_start.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startAnimation();
            }
        });
        iv_stop.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                stopAnimation();
            }
        });
        iv_animation.setBackgroundResource(R.drawable.animations);
        drawableAnimation = (AnimationDrawable) iv_animation.getBackground();
    }

    public void startAnimation(){
        drawableAnimation.start();
    }

    public void stopAnimation(){
        drawableAnimation.stop();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}
时间: 2024-11-03 21:58:45

Android动画Drawable Animation的相关文章

(四)Android动画开发---Animation动画效果详解

Android 使用Animation的具体操作方法我们将会在这篇文章中做一个详细的介绍.大家可以通过这里举出的代码进行解读,并从中了解到相关操作技巧,方便我们将来开发应用,并且加深对这一操作系统的理解程度. 在Android中,分别可以在xml中定义Animation,也可以在程序代码中定义. 动画类型 Android的animation由四种类型组成 XML中 alpha 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效果 rotate 画面转

android 动画属性Animation

Animation 在android 程序当中很多时候要用到动画效果,而动画效果主要是Animation来实现的,API给出的解释: 其中包含4种动画效果 AlphaAnimation 渐变透明度 RotateAnimation 画面旋转 ScaleAnimation 渐变尺寸缩放 TranslateAnimation 位置移动 但如果你想把这些动画效果联合起来就需要用到一个类AnimationSet  动画集. 下面就对这几个类进行一个简单的解释: AlphaAnimation 的例子: 1

*Android动画View Animation

Animations 一.Animations介绍 Animations是一个实现android UI界面动画效果的API,Animations提供了一系列的动画效果,可以进行旋转.缩放.淡入淡出等,这些效果可以应用在绝大多数的控件中. 二.Animations的分类 Animations从总体上可以分为两大类: 1.Tweened Animations:该类Animations提供了旋转.移动.伸展和淡出等效果.Alpha——淡入淡出,Scale——缩放效果,Rotate——旋转,Transl

帧动画Drawable Animation入门

Drawable Animation Drawable animation lets you load a series of Drawable resources one after another to create an animation. This is a traditional animation in the sense that it is created with a sequence of different images, played in order, like a

Android动画效果animation

1.Tween 根据指定动画开始和结束时的对象属性(位置.Alpha值(透明度).大小.角度等)以及动画播放的时间长度生成动画: 2.Frame 指定每一帧所播放的图片和时间长度. 建立动画的方法: 1.在项目的res文件夹下建立动画资源xml文件,自动加入项目的资源类R中,程序再从资源类中加载动画来使用: 2.直接在程序代码中建立动画对象并设置相关属性. 具体方法: 1.在res文件夹下新建anim文件夹,在anim文件夹下新建xml文件,选择set类型: 2.在xml文件中,新建动画类型标签

android动画-Property Animation

Property Animation 属性动画,这个是在Android 3.0中才引进的. Property Animation其改变的是对象属性对应的值,应用于任何对象,而Tween Animation更改的是绘画的效果,其属性值是没有变化的. ObjectAnimator:更改对象的属性值 使用方法: ObjectAnimator translationRight = ObjectAnimator.ofFloat(m_tv, "X",width); translationRight

android动画-Frame Animation

转载请注明出处:http://blog.csdn.net/forwardyzk/article/details/42739281 Drawable Animation(Frame Animation):帧动画,连续播放和播放gif图片的效果是一样的. 可以使用xml构建Drawable Animation,也可以使用代码编写Drawable Animation动画 下面先介绍使用xml构建Drawable Animation动画 在res目录下新建anim目录 创建xml文件 例如: drwab

Android动画-Property Animation(一)

本章内容 在之前 <Android动画-概述>中,我大概说了下Android Property Animation的由来,这里就不做多介绍了,Property Animation 肯定不是一章就能讲的完的,接下来的几章都是建立在代码.效果图的基础上,介绍Property Animation的用法. 本章主要讲的是 ObjectAnimator ,包括代码生成动画,XML加载动画. 简述:在给出一大堆代码之前,先通过效果图来看看一些有趣的动画,通过一个简单有趣的动画逐步展开: 这绝对是一个非常有

Android 动画详解之Frame动画 (Drawable Animation)

Frame动画就像是gif图,通过一些静态图片来达到动画的效果. Android sdk中的AnimationDrawable就是专门针对Frame动画,当然Frame动画也可在java代码或者xml中写,但是提倡大家还是在xml中写,先上个效果图. <span style="font-size:18px;"><?xml version="1.0" encoding="utf-8"?> <animation-list