Android AnimationDrawable动画与APP启动引导页面-阿里云开发者社区

开发者社区> 开开心心过> 正文

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

简介: Android AnimationDrawable动画与APP启动、加载引导页面(画面) AnimationDrawable是Android的Frame动画,可以简单的认为此AnimationDrawable能够将一系列资源图片加载成“电影”一样播放。
+关注继续查看

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();
			}
		});
	}
}


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【转】android如何实现开机自动启动Service或app
1.今天我们主要来探讨android怎么让一个service开机自动启动功能的实现。Android手机在启动的过程中会触发一个Standard Broadcast Action,名字叫android.intent.action.BOOT_COMPLETED(记得只会触发一次呀),在这里我们可以通过构建一个广播接收者来接收这个这个action.下面我就来简单写以下实现的步骤: 2. 第一步:首先创建一个广播接收者,重构其抽象方法 onReceive(Context context, Intent intent),在其中启动你想要启动的Service或app。
910 0
如何让App首屏启动更快 -- httpdns持久化缓存方案
httpdns作为解决域名劫持,调度不精准问题的一剂良药,很大程度上改善了app的用户体验。为了追求更加极致的性能体验,本文推出httpdns持久化缓存方案,让app首屏启动更快!
150 0
开源最佳实践:Android平台页面路由框架ARouter
为了更好地让开发者们更加深入了解阿里开源,阿里云云栖社区在3月1号了举办“阿里开源项目最佳实践”在线技术峰会,直播讲述了当前阿里新兴和经典开源项目实战经验以及背后的开发思路,在本次在线技术峰会上,阿里云资深开发工程师刘志龙分享了Android平台页面路由框架ARouter的技术方案、解决的问题以及在实际场景中的最佳实践。
43633 0
APP登陆页面适配
先看效果图。 登陆首页效果图 原理 为RootView增加监听事件,然后进行滚动 至于该滚动多少,这是需要自己慢慢进行计算。 xml 代码 /** * 1、大于屏幕整体高度的1/3:键盘显示 获取Scroll的窗体坐标 * 算出main需要滚动的高度,使scroll显示。
857 0
Android Studio 使用Intent实现页面的跳转(带参数)
不管是在APP,还是在网站中,页面之间的跳转都是很常见的,本文主要讲一下在APP中,如何通过Intent实现页面的跳转。   不带参数: 写在MainActivity页面的代码: 1 Intent intent = new Intent(); 2 intent.
2540 0
让小程序在自有App中启动的技术来了:mPaaS小程序架构深度解析
mPaaS 小程序框架作为一款 App 通用框架,帮助开发者面向自身的 App 实现小程序投放。不止如此,小程序代码仅需撰写一次,便可多端投放至自有 App、支付宝、钉钉甚至其他小程序开放平台。
1757 0
vux:基于微信端的UI库及页面跳转动画效果
vux:基于weui和vue的,为微信而打造的UI库,实现页面跳转的动画效果!
4482 0
682
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载