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


相关文章
|
2月前
|
存储 Shell Android开发
基于Android P,自定义Android开机动画的方法
本文详细介绍了基于Android P系统自定义开机动画的步骤,包括动画文件结构、脚本编写、ZIP打包方法以及如何将自定义动画集成到AOSP源码中。
47 2
基于Android P,自定义Android开机动画的方法
|
2月前
|
存储 安全 物联网
Android经典实战之跳转到系统设置页面或其他系统应用页面大全
本文首发于公众号“AntDream”,关注获取更多技巧。文章总结了Android开发中跳转至系统设置页面的方法,包括设备信息、Wi-Fi、显示与声音设置等,并涉及应用详情与电池优化页面。通过简单的Intent动作即可实现,需注意权限与版本兼容性。每日进步,尽在“AntDream”。
179 2
|
3月前
|
XML Android开发 数据格式
Android 中如何设置activity的启动动画,让它像dialog一样从底部往上出来
在 Android 中实现 Activity 的对话框式过渡动画:从底部滑入与从顶部滑出。需定义两个 XML 动画文件 `activity_slide_in.xml` 和 `activity_slide_out.xml`,分别控制 Activity 的进入与退出动画。使用 `overridePendingTransition` 方法在启动 (`startActivity`) 或结束 (`finish`) Activity 时应用这些动画。为了使前 Activity 保持静止,可定义 `no_animation.xml` 并在启动新 Activity 时仅设置新 Activity 的进入动画。
60 12
|
2月前
|
监控 安全 API
Android项目架构设计问题之保证线上用户不会进入到本地配置页面如何解决
Android项目架构设计问题之保证线上用户不会进入到本地配置页面如何解决
23 0
|
2月前
|
Android开发
Android项目架构设计问题之定义一个关闭当前页面的Action如何解决
Android项目架构设计问题之定义一个关闭当前页面的Action如何解决
15 0
|
2月前
|
XML Android开发 数据格式
"探秘Android Drawable魔法:一篇文章教你玩转StateListDrawable与AnimationDrawable!"
【8月更文挑战第18天】Drawable是Android中用于屏幕绘制的图形对象,StateListDrawable与AnimationDrawable是两种实用类型。StateListDrawable可根据控件状态变化显示不同图形,如按钮的点击反馈;AnimationDrawable则用于实现帧动画效果,常用于加载提示或动态图标。两者均可通过XML定义或代码创建,并轻松应用于View的背景中,有效增强应用的交互性和视觉体验。
40 0
|
3月前
|
XML Android开发 UED
Android动画之共享元素动画简单实践
本文介绍Android共享元素动画, 实现两Activity间平滑过渡特定UI元素。通过设置`transitionName`属性和使用`ActivityOptions.makeSceneTransitionAnimation`启动目标Activity实现动画效果。可自定义过渡动画提升体验。
46 0
|
4月前
|
Android开发 UED
Android Item平移动画
【6月更文挑战第18天】
|
4月前
|
传感器 Android开发 UED
Android统一设置页面竖屏
【6月更文挑战第4天】
116 8
|
3月前
|
Android开发
android 动画 插值器和估值器
android 动画 插值器和估值器
下一篇
无影云桌面