Android AnimationDrawable动画与APP启动引导页面

Android AnimationDrawable动画与APP启动、加载引导页面(画面)

AnimationDrawable是Android的Frame动画,可以简单的认为此AnimationDrawable能够将一系列资源图片加载成“电影”一样播放。当下,在一些APP中,往往需要在APP切入主题之前加载一些引导页面(宣传海报、装饰画面、赞助商广告等等),这些内容要两个共同特点:

(1)不是APP的重点内容,而仅仅只是像展台一样展览一些画面。

(2)前、当前、后页面基本上无特别需要处理的交互设计(因为只是播放几张或几帧画面而已),然后就跳转进入APP实质内容。

现在就给出一个示例小demo,实现一个简单的样例:一个APP的MainActivity启动后,循环播放3张图片。

(第1步)先在res/drawable目录下事先放置好需要播放的图片资源。如图:

(第2步)在res/anim目录下建立animation-list的xml代码文件,假设这个代码文件就叫做my_animation.xml,如图,

该文件的具体代码内容:

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

    <item
        android:drawable="@drawable/p1"
        android:duration="2000"/>

    <item
        android:drawable="@drawable/p2"
        android:duration="2000"/>

    <item
        android:drawable="@drawable/p3"
        android:duration="2000"/>

</animation-list>

Item的资源图片p1,p2,p3将顺序播放。android:duration的值(毫秒)是该item播放持续的时间,在这个例子中,就是将图片显示一段时间。

(第3步)在Activity加载的布局文件activity_main.xml里面写一个ImageView,设置该ImageView的android:src= 第2步创建好的my_animation.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" >

    <Button
        android:id="@+id/play"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/play" />

    <Button
        android:id="@+id/stop"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/stop" />

     <ImageView
        android:id="@+id/imegaView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:src="@anim/my_animation" />

</LinearLayout>

到这里,就完成了设计目的,这个Activity启动后,就会在ImageView里面自带播放动画,当然,可以做的更多,为这个动画添加一些控制按钮(play,stop),控制播放(play)或者停止(stop)。

测试的activity:MainActivity.java:

package zhangphil.animation;

import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;

public class MainActivity extends ActionBarActivity {

	private	AnimationDrawable mAnimationDrawable=null;

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

		ImageView imageView=(ImageView)findViewById(R.id.imegaView);
		mAnimationDrawable=(AnimationDrawable) imageView.getDrawable();

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

			@Override
			public void onClick(View v) {
				mAnimationDrawable.start();
			}
		});

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

			@Override
			public void onClick(View v) {
				mAnimationDrawable.stop();
			}
		});
	}
}

版权声明:本文为博主原创文章,未经博主允许不得转载。转载请注明出处:http://blog.csdn.net/zhangphil

时间: 2024-12-21 00:23:54

Android AnimationDrawable动画与APP启动引导页面的相关文章

APP启动引导

APP启动引导 APP启动引导 是Android的APP应用中,常见的4种引导项目方式. 下载地址:http://www.devstore.cn/code/info/611.html 运行截图:     热门源码下载: 高仿京东商城 Android快速开发不可或缺的11个工具类 Android应用源码比较不错的新闻客户端 版权声明:本文为博主原创文章,未经博主允许不得转载.

Android漫游记(6)---APP启动之旅(I)

Android基于Linux2.6+内核,我们看一张图,以对Android系统的架构有个感性的认识. 我们从Kernel层简单说明: 1.Kernel层:基于Linux2.6+内核,同时做了一些嵌入式环境做了一些针对性的优化调整. 2.Libraries层:包括Bionic C库,以及HAL(硬件驱动接口抽象)等API. 3.Android Runtime(ART)层:包含核心应用库和Dalvik虚拟机. 4.Application Framework层:纯JAVA的API框架,包括Activi

ViewPager实现启动引导页面(个人认为很详细)

效果如图: 启动页面是一张图片+延时效果,这里就不给出布局文件了. WelcomeActivity分析:在启动页面检测是否是第一次运行程序,如果是,则先跳转到引导界面的Activity——AndyViewPagerActivity:否,则直接跳转到MainActivity. 判断很简单,使用SharedPreferences. WelcomeActivity.java具体实现: package com.example.qidong; import android.os.Bundle; impor

Android开发之使用ViewPager做引导页面

引导页面相信大家都不会陌生,安装了一个新的App后第一次打开,都会有类似下图,相当于说明文档 实现效果 程序目录结构 在主layout里main.xml定义一个帧布局,在viewPager上有多少页就显示多少个点 <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"

Android开发之解决APP启动白屏或者黑屏闪现的问题

在做搜芽的过程中,发现那个外包人缘做的不行,因为启动的时候会停顿,然后白屏一会,联想到几个月前我在我的三僚企业通信软件里面拉起9K-Mail的时候也会黑屏,所以决定学习一下.解决一下.这不,万能的网络还是非常有用的. 在这里总结一下. (参考及转载:http://www.2cto.com/kf/201409/339293.html) 欢迎页启动的线程由于请求和处理的数据量过大而,导致欢迎页在出现之前界面上会有一个短暂的白色闪屏停留,当然白色闪屏的停留是因为 application 的主题样式an

Android——锁定launch - 原生Browser启动 -引导provision

前段时间做了一个功能,就是锁定主launch,机器上只能跑我们定义的launch,当时没注意影响, 最近发现就是因为在AMS中加了这个锁定过滤条件导致原生Browser无法启动了, 把我郁闷的,当时怎么想都觉得奇怪,这完全不相关的两件事怎么会影响到- 这里记录一下 撰写不易,转载请注明出处:http://blog.csdn.net/jscese/article/details/41015941 锁定主launch 启动android系统launch的过程原理可参考Android--启动过程详解中

Android开发之使用ViewPager做引导页面(转载)

转载自:deng0zhaotai http://blog.csdn.net/deng0zhaotai/article/details/24744637 MainActivity.java package com.example.viewpagerdemo; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.os.Bundle; import android.

APP启动页

关于APP启动引导页面模块 时间:2016年6月14日 作者:赵锐 模块使用说明 模块暴露在外的接口是- (void)showGuideViewWithImages:(NSArray *)images;调用时候需要传入引导页图片的名字数组即可. @interface GuideManager : NSObject /** * 实现功能:APP启动引导图 * * @param images 引导图图片的名字数组 */ - (void)showGuideViewWithImages:(NSArray

Android开发必知--WebView加载html5实现炫酷引导页面

大多数人都知道,一个APP的引导页面还是挺重要的,不过要想通过原生的Android代码做出一个非常炫酷的引导页相对还是比较复杂的,正巧html5在制作炫酷动画网页方面比较给力,我们不妨先利用html5做出手机引导页面,然后将其嵌入APP中. 首先我们分析一下,都需要做哪些工作? 1.制作html5引导页面. 2.把做好的页面放入Android工程中assets文件夹下. 3.利用WebView加载asset文件夹下的html文件. 4.在引导页最后一页的按钮上捕捉点击事件,结束引导页,进入程序.