Android Drawable Animation 学习

原创 2013年12月02日 12:32:18

Drawable Animation(Frame Animation) Drawable Animation(Frame Animation):帧动画,就像GIF图片,通过一系列Drawable依次显示来模拟动画的效果。在XML中的定义方式如下:


<?xml version="1.0" encoding="utf-8"?>
<animation-list android:oneshot="false"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:duration="400" android:drawable="@drawable/send_loading1" />
    <item android:duration="400" android:drawable="@drawable/send_loading2" />
    <item android:duration="400" android:drawable="@drawable/send_loading3" />
    <item android:duration="400" android:drawable="@drawable/send_loading4" />
    <item android:duration="400" android:drawable="@drawable/send_loading5" />
    <item android:duration="400" android:drawable="@drawable/send_loading1" />
</animation-list>


下面通过一个例子演示其作用



目录结构



common_loading_animation.xml

<?xml version="1.0" encoding="utf-8"?>
<animation-list android:oneshot="false"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:duration="400" android:drawable="@drawable/send_loading1" />
    <item android:duration="400" android:drawable="@drawable/send_loading2" />
    <item android:duration="400" android:drawable="@drawable/send_loading3" />
    <item android:duration="400" android:drawable="@drawable/send_loading4" />
    <item android:duration="400" android:drawable="@drawable/send_loading5" />
    <item android:duration="400" android:drawable="@drawable/send_loading1" />
</animation-list>


horizontal_loading_animation.xml

<?xml version="1.0" encoding="utf-8"?>
<animation-list android:oneshot="false"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:duration="400" android:drawable="@drawable/progressbar_indeterminate_holo1" />
    <item android:duration="400" android:drawable="@drawable/progressbar_indeterminate_holo2" />
    <item android:duration="400" android:drawable="@drawable/progressbar_indeterminate_holo3" />
    <item android:duration="400" android:drawable="@drawable/progressbar_indeterminate_holo4" />
    <item android:duration="400" android:drawable="@drawable/progressbar_indeterminate_holo4" />
    <item android:duration="400" android:drawable="@drawable/progressbar_indeterminate_holo5" />
    <item android:duration="400" android:drawable="@drawable/progressbar_indeterminate_holo6" />
    <item android:duration="400" android:drawable="@drawable/progressbar_indeterminate_holo7" />
    <item android:duration="400" android:drawable="@drawable/progressbar_indeterminate_holo8" />
    <item android:duration="400" android:drawable="@drawable/progressbar_indeterminate_holo9" />
    <item android:duration="400" android:drawable="@drawable/progressbar_indeterminate_holo10" />
    <item android:duration="400" android:drawable="@drawable/progressbar_indeterminate_holo11" />
    <item android:duration="400" android:drawable="@drawable/progressbar_indeterminate_holo12" />
    <item android:duration="400" android:drawable="@drawable/progressbar_indeterminate_holo13" />
    <item android:duration="400" android:drawable="@drawable/progressbar_indeterminate_holo14" />
    <item android:duration="400" android:drawable="@drawable/progressbar_indeterminate_holo15" />
    <item android:duration="400" android:drawable="@drawable/progressbar_indeterminate_holo16" />
    <item android:duration="400" android:drawable="@drawable/progressbar_indeterminate_holo17" />
    <item android:duration="400" android:drawable="@drawable/progressbar_indeterminate_holo18" />
    <item android:duration="400" android:drawable="@drawable/progressbar_indeterminate_holo19" />
    <item android:duration="400" android:drawable="@drawable/progressbar_indeterminate_holo20" />
    <item android:duration="400" android:drawable="@drawable/progressbar_indeterminate_holo21" />
</animation-list>


activity_main.xml

<LinearLayout 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:orientation="vertical"
    tools:context=".MainActivity" >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp" >

        <ProgressBar
            android:layout_width="match_parent"
            android:layout_height="2dp"
            android:indeterminateDrawable="@drawable/horizontal_loading_animation" />
    </RelativeLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:orientation="vertical" >

        <ImageView
            android:id="@+id/iv"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:contentDescription="@string/app_name"
            />
        
        <Button 
            android:id="@+id/bt_start"
            android:layout_marginTop="10dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="开始"
            />
        
    </LinearLayout>

</LinearLayout>



MainActivity.java

package com.example.loadingview;

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;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		findView();
	}

	private void findView() {

		ImageView rocketImage = (ImageView) findViewById(R.id.iv);
		rocketImage.setBackgroundResource(R.drawable.common_loading_animation);
		
		final AnimationDrawable rocketAnimation = (AnimationDrawable) rocketImage
				.getBackground();

		Button bt_start = (Button) findViewById(R.id.bt_start);
		bt_start.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				
				rocketAnimation.start();
//				rocketAnimation.stop();	//停止
			}
		});
	}

}




详细可参考:http://developer.android.com/guide/topics/graphics/drawable-animation.html




版权声明:本文为博主原创文章,未经博主允许不得转载。

android之animation-list+图片实现的粘稠的加载动画效果

Tween动画详解:http://blog.csdn.net/feng88724/article/details/6318430 用animation-list+图片实现的粘稠的加载动画效果: 一:p...
  • zhongwn
  • zhongwn
  • 2016年02月02日 17:57
  • 1086

AnimationDrawable 实现正在加载的旋转动画

先看效果吧 效果: 要实现这样的效果  就是中间的那个   正在拼命加载数据中  然后是那个动画在不停的旋转, 其实这个过程      是在你访问网络数据请求的时候,出现的,一般只停留几秒钟的效果...
  • u014737138
  • u014737138
  • 2015年09月07日 14:15
  • 1108

Android 用Animation-list实现逐帧动画详细步骤

1.在res\drawable目录下创建两个文件,分别为animation1.xml及animation2.xml分别用于顺序和倒序显示动画文件,具体创建步骤: (1) (2) ...
  • LLXLQY
  • LLXLQY
  • 2016年08月22日 15:15
  • 2871

博客《Android动画之一:Drawable Animation》附带源码 SwipeWithAnim

  • 2014年10月26日 12:19
  • 1.38MB
  • 下载

博客《Android动画之一:Drawable Animation》附带源码

  • 2014年10月24日 22:05
  • 2.08MB
  • 下载

Android animation学习笔记之view/drawable animation

前一章中总结了android animation中property animation的知识和用法,这一章总结View animation和Drawable animation的有关知识:   ...
  • u010966622
  • u010966622
  • 2013年06月28日 13:41
  • 978

【Android界面实现】Drawable Animation 使用介绍

转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992     (目前只能用在View对象上的动画效果的实现有两种,一种就是上一篇的View Animation,即...
  • bz419927089
  • bz419927089
  • 2014年10月26日 11:25
  • 5386

Android Api Demos登顶之路(六十六)Graphics-->Animation Drawable

/* * 这个Demo演示了如何实现具有动画效果的Drawable */ public class MainActivity extends Activity { @Override ...
  • fishtosky
  • fishtosky
  • 2015年09月13日 11:04
  • 238

Drawable Animation(Android动画)

Android动画主要分为三大类 View Animation Drawable AnimationProperty Animation 其中Drawable Animations对大多...
  • a_long_
  • a_long_
  • 2016年05月29日 09:20
  • 190

Android 动画系列一:Drawable Animation

在Android3.0之前,也就是Property Animation还没有出来以前,android中只提供了两种动画定义方式也就是,Drawable Animation和 View Animati...
  • zkw12358
  • zkw12358
  • 2014年12月18日 00:08
  • 864
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android Drawable Animation 学习
举报原因:
原因补充:

(最多只允许输入30个字)