Android动画介绍:Android为我们提供了两种动画实现,Frame和Tween。

两者之间的区别:

  1.Frame动画:就像放电影一样,是通过预先做好的图片进行连续播放从而形成动画效果

  2.Tween动画:通过对图片设置平移、缩放、旋转、改变透明度等方式来显示动画效果

本节仅讲Frame动画,

Frame动画是通过AnimationDrawable来实现的,它提供了start()和stop()两个方法,对播放的动画进行控制,一般通过XML文件配置,在工程的res/anim目录下创建一个XML配置文件,该配置文件有一个<animation-list>根元素和若干个<item>子元素。

废话就不说了,下面将贴出该例子的完整代码,供大家测试使用:

一、FrameActivity

package com.yw.myapiupdate.frame;import com.yw.myapiupdate.R;import android.app.Activity;import android.graphics.drawable.AnimationDrawable;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ImageView;/** *  * 实现动画轮询播放 * @author yw-tony * */public class FrameActivity extends Activity implements OnClickListener{    private Button btn_start;    private Button btn_end;    private ImageView iv;    private AnimationDrawable ad;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.frame_layout);        initViews();    }    private void initViews(){        btn_start = (Button)findViewById(R.id.frame_btn_start);        btn_end = (Button)findViewById(R.id.frame_btn_end);        iv = (ImageView)findViewById(R.id.frame_iv);        btn_start.setOnClickListener(this);        btn_end.setOnClickListener(this);        this.ad = (AnimationDrawable)iv.getBackground();    }    private void startAnimation(){        this.ad.start();    }    private void stopAnimation(){        this.ad.stop();    }    @Override    public void onClick(View v) {        switch(v.getId()){        case R.id.frame_btn_start:            startAnimation();            break;        case R.id.frame_btn_end:            stopAnimation();            break;        }    }}

与之对应的xml文件

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:gravity="center"    android:orientation="vertical" >    <ImageView         android:id="@+id/frame_iv"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:background="@anim/framedrawable"/>    <Button         android:id="@+id/frame_btn_start"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:gravity="center"        android:text="start"/>    <Button         android:id="@+id/frame_btn_end"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:gravity="center"        android:text="end"/></LinearLayout>

二、设置动画的xml文件

<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:apk="http://schemas.android.com/apk/res/android" apk:oneshot="false">    <item apk:drawable="@drawable/anim_1" apk:duration="200" />    <item apk:drawable="@drawable/anim_2" apk:duration="200" />    <item apk:drawable="@drawable/anim_3" apk:duration="200" />    <item apk:drawable="@drawable/anim_4" apk:duration="200" />    <item apk:drawable="@drawable/anim_5" apk:duration="200" />    <item apk:drawable="@drawable/anim_6" apk:duration="200" /></animation-list>

下面是源代码以及资源文件的下载地址:

http://files.cnblogs.com/tony-yang-flutter/anni.zip

更多相关文章

  1. android 本地数据库
  2. Android第一步
  3. Android(安卓)简单项目
  4. 开发人员应该了解的 Android(安卓)常用术语
  5. Fragment的添加方法总结
  6. android 项目工程文件夹(zhuan)
  7. Android(安卓)Init进程源码分析
  8. 离线下载android sdk
  9. Android(安卓)+ eclipse +ADT安装完全教程

随机推荐

  1. Android(安卓)Data Binding ——入门
  2. ArcGIS for Android(安卓)在Eclipse上的
  3. AndroidView绘制流程一(View添加流程)
  4. Android(安卓)SystemClock 应用
  5. 标签TextView
  6. gradle添加新的代码仓库
  7. Android(安卓)自定义dialog,实现右上角显
  8. Android中Button设置background过程的研
  9. [Android(安卓)步步为营]第2营 Hello Wor
  10. Android(安卓)开发 框架系列 百度语音合