Android之带渐变动画的欢迎界面

这是一个简单的例子,主要功能是在欢迎界面是用一个渐变动画,当动画播放完成后,跳转到主界面中去。

首先需要在res文件夹下新建一个anim文件夹,这个文件夹用来存放动画定义的xml文件,渐变动画的内容是:

<?xml version="1.0" encoding="UTF-8"?>

<!--
	alpha表示渐变动画
	duration设置动画播放时长
	fromAlpha表示动画开始时的透明度
	toAlpha表示动画结束时的透明度
      (0表示完全透明 1表示完全不透明)
 -->
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="2000"
    android:fromAlpha="0.3"
    android:toAlpha="1.0" />

接着我们在欢迎界面里面去使用AnimationUtils加载刚刚定义的动画,然后播放动画、监听动画,

需要注意的是这里需要使用LayoutInflater这个类加载res资源下的布局xml文件,不能使用findViewById(),

详细请参考以下代码:

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.Animation.AnimationListener;
import android.view.animation.AnimationUtils;

import com.bear.notes.R;
import com.bear.notes.utils.CommonUtil;

public class SplashActivity extends Activity {

	private Handler mHandler;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		CommonUtil.setNoTitleBar(SplashActivity.this);
		CommonUtil.setFullScreen(SplashActivity.this);
		//使用LayoutInflater来加载activity_splash.xml视图
		View rootView = LayoutInflater.from(this).inflate(R.layout.activity_splash, null);

		/**
		 * 这里不能使用findViewById(R.layout.acitivyt_spash)方法来加载
		 * 因为还没有开始调用setContentView()方法,也就是说还没给当前的Activity
		 * 设置视图,当前Activity Root View为null,findViewById()方法是从当前
		 * Activity的Root View中获取子视图,所以这时候会报NullPointerException异常
		 *
		 * View rootView = findViewById(R.layout.activity_splash);
		 *
		 */

		setContentView(rootView);
		mHandler = new Handler();

		//初始化渐变动画
		Animation animation = AnimationUtils.loadAnimation(this, R.anim.alpha);
		//设置动画监听器
		animation.setAnimationListener(new AnimationListener() {

			@Override
			public void onAnimationStart(Animation animation) {
				// TODO Auto-generated method stub

			}

			@Override
			public void onAnimationRepeat(Animation animation) {
				// TODO Auto-generated method stub

			}

			@Override
			public void onAnimationEnd(Animation animation) {
				//当监听到动画结束时,开始跳转到MainActivity中去
				mHandler.post(new Runnable() {

					@Override
					public void run() {
						Intent i = new Intent(SplashActivity.this, MainActivity.class);
						startActivity(i);
						SplashActivity.this.finish();
					}
				});
			}
		});

		//开始播放动画
		rootView.startAnimation(animation);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.splash, menu);
		return true;
	}

}

希望以上内容对你有所帮助。

时间: 2024-11-13 09:28:20

Android之带渐变动画的欢迎界面的相关文章

Android应用开发:动画开发——XML动画

引言 当今,Android.IOS二分天下,什么Tizen.COS blabla的均为蝼蚁,一看就知道是为打发领导或为花研发资金产出的产品,根本不是为了赢得市场,为的只是博得领导一笑而已,完全可以忽视.而Android开发又因为开发语言以Java为主,入门门槛极低导致基本上是个程序员,泡两天EOE,或Android Developer Training都可以过来说"哥会开发Android app了!",那么什么才能将你的App脱颖而出呢?准确的用户痛点.良好的数据结构.简单易用的交互流

Android软件开发之盘点自定义View界面大合集(二)

Android软件开发之盘点自定义View界面大合集(二) - 雨松MOMO的程序世界 - 51CTO技术博客 雨松MOMO带大家盘点Android 中的自定义View界面的绘制 今天我用自己写的一个Demo 和大家详细介绍一个Android中自定义View中的使用与绘制技巧. 1.自定义view绘制字符串 相信在实际开发过程中必然很多地方都须要用到系统字 为什么会用到系统字? 方便 省内存 我相信做过J2ME游戏开发的朋友应该深知内存有多么多么重要 而且使用它还可以带来一个更重要的好处就是很方

动画效果(一)-渐变动画

第1节 概述 在安卓系统中,为了界面或者其中的组件在切换.改变的时候显得自然生动.具有流动性的美感,就给它们添加了动画的效果. 例如图片切换的时候,前一张图片淡出,后一张图片淡入. 动画分了三类: frame动画(逐帧动画). property动画(属性动画). tween动画(渐变动画). 逐帧动画有点像播放电影,它把很多图片串起来,按照顺序一张一张显示,通过播放形成动画效果: 属性动画是对控件某个属性使用的动画,例如一个按钮的宽度要从窄设置到宽,而我们希望它的宽度调整的时候,能看到它从窄到宽

【Android 基础】Animation 动画介绍和实现

在前面PopupWindow 实现显示仿腾讯新闻底部弹出菜单有用到Animation动画效果来实现菜单的显示和隐藏,本文就来介绍下吧. 1.Animation 动画类型 Android的animation由四种类型组成: XML中 alph 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效果 rotate 画面转移旋转动画效果 JavaCode中 AlphaAnimation 渐变透明度动画效果 ScaleAnimation 渐变尺寸伸缩动画效果

android 实现带清除效果的EditText(附带抖动效果)

Android一直没有提供类似于ios中自带清除效果的输入框(ios只要只要添加属性即可实现),所以在Android当中 想要实现此效果就需要使用自定义控件的方式实现. 思路:可以使用一个Linearlayout里面横向布局一个EditText和一个删除的图片,监听输入框的焦点和文字变化,设置图片的显隐和点击清除事件.但是这么做些弊端,首先增加了UI布局的层级结构不利于UI结构的优化而且可能会出现文字过长遮挡住图片的情况.所以采用自定义控件继承于EditText,使用getCompoundDra

android中选择控件与选择界面自然过度效果的实现--一种新的交互设计

转载请标明出处: http://blog.csdn.net/jianghejie123/article/details/40648931 在安卓中经常遇到须要选择一个东西的功能,比方选择日期.选择文件,选择地点等,通常我们的做法是使用选择对话框.比方选择日期用datepicker,有时候也使用activity,可是这两种方式都有一个缺点,就是用户非常明显的感觉到了界面之间的切换. 有时候.以下这样的选择数据的交互方式应该会更好些: 事实上上面的app效果来自与CapitaineTrain应用,好

Android自定义水波纹动画Layout

Android自定义水波纹动画Layout 源码是双11的时候就写好了,但是我觉得当天发不太好,所以推迟了几天,没想到过了双11女友就变成了前女友,桑心.唉不说了,来看看代码吧. 展示效果 Hi前辈 话不多说,我们先来看看效果: 这一张是<Hi前辈>的搜索预览图,你可以在这里下载这个APP查看更多效果:http://www.wandoujia.com/apps/com.superlity.hiqianbei LSearchView 这是一个MD风格的搜索框,集成了ripple动画以及searc

Android 仿PhotoShop调色板应用(三) 主体界面绘制

版权声明:本文为博主原创文章,未经博主允许不得转载. Android 仿PhotoShop调色板应用(三) 主体界面绘制    关于PhotoShop调色板应用的实现我总结了两个最核心的部分:   1. 主体界面不同区域的绘制   2. 颜色选择的生成与交互 这里我讲述一下第一要点,也就是ColorPickerDialog对主体界面的绘制. 首先还是看一下ColorPickerDialog整体显示的效果(见图1)     图1 对应着效果图我画了一张界面结构分析图,相信看了之后会对该界面的组成很

Android 模仿微信启动动画

本文内容 环境 项目结构 演示微信启动动画 本文演示微信启动动画.请点击此处下载,自行调试. 下载 Demo 环境 Windows 2008 R2 64 位 Eclipse ADT V22.6.2,Android 4.4.3 SAMSUNG GT-I9008L,Android OS 2.2.2 项目结构 图 1 项目结构 com.example.weixinbootanimationdemo 包,是三个Activity对应的类,分别是启动时停留的 5 秒动画:5 秒后进入 ViewPager 动