android闪屏(普通闪屏、倒计时闪屏、倒计时+动画闪屏)

原创 2017年01月03日 15:05:44

一、项目目录结构

二、activity_main.xml代码

<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.zgs.SplashScreenByXml.MainActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="主页面" />

</RelativeLayout>
三、activity_splashscreen.xml代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/splash"
    android:orientation="vertical" 
    android:id="@+id/ll_splashActivity">

    <TextView
        android:id="@+id/tv_countDown"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="end"
        android:layout_marginEnd="20dp"
        android:layout_marginTop="20dp"
        android:textColor="@android:color/white"
        android:textSize="20sp" />

</LinearLayout>
四、SplashScreenActiviy.java代码
package com.zgs.SplashScreenByXml;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.os.Handler;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.view.animation.Animation;
import android.view.animation.Animation.AnimationListener;
import android.view.animation.TranslateAnimation;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.zgs.CommonlySplashScreen.R;

public class SplashScreenActiviy extends Activity {

	private TextView tv_countDown;
	private LinearLayout ll_splashActivity;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		// 通过下面两行代码也可实现全屏无标题栏显示activity
		// getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
		// this.requestWindowFeature(Window.FEATURE_NO_TITLE);

		setContentView(R.layout.activity_splashscreen);

		tv_countDown = (TextView) findViewById(R.id.tv_countDown);
		ll_splashActivity = (LinearLayout) findViewById(R.id.ll_splashActivity);

		/********************************************************************************
		 * 
		 * 普通闪屏实现方式
		 * 
		 * ******************************************************************************/
		/*new Handler().postDelayed(new Runnable() {
			@Override
			public void run() {
				Intent intent = new Intent(getApplicationContext(), MainActivity.class);
				startActivity(intent);
				finish();
			}
		}, 1000*4);*/


		/********************************************************************************
		 * 
		 * 倒计时闪屏实现方式
		 * 
		 * ******************************************************************************/
		/*MyCountDownTimer mc = new MyCountDownTimer(4000, 1000); 
		mc.start();

		new Handler().postDelayed(new Runnable() {
			@Override
			public void run() {
				Intent intent = new Intent(getApplicationContext(), MainActivity.class);
				startActivity(intent);
				finish();
			}
		}, 1000*4);*/

		/********************************************************************************
		 * 
		 * 倒计时+动画闪屏实现方式
		 * 
		 * ******************************************************************************/
		MyCountDownTimer mc = new MyCountDownTimer(4000, 1000); 
		mc.start();

		new Handler().postDelayed(new Runnable() {
			@Override
			public void run() {
				//左移动画
				TranslateAnimation ta = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, 0, Animation.RELATIVE_TO_PARENT, -1, Animation.RELATIVE_TO_PARENT, 0, Animation.RELATIVE_TO_PARENT, 0);  
				ta.setDuration(2000); //设置动画执行的时间
				ta.setFillAfter(true);//当动画结束后 动画停留在结束位置,然后等启动主界面后将其销毁
				ll_splashActivity.startAnimation(ta);

				ta.setAnimationListener(new AnimationListener() {
					@Override
					public void onAnimationStart(Animation arg0) {

					}
					@Override
					public void onAnimationRepeat(Animation arg0) {

					}
					@Override
					public void onAnimationEnd(Animation arg0) {
						Intent intent = new Intent(getApplicationContext(), MainActivity.class);
						startActivity(intent);
						finish();
					}
				});
			}
		}, 1000*4);

	}

	class MyCountDownTimer extends CountDownTimer { 
		//millisInFuture:倒计时的总数,单位毫秒
		//例如 millisInFuture=1000;表示1秒
		//countDownInterval:表示间隔多少毫秒,调用一次onTick方法()
		//例如: countDownInterval =1000;表示每1000毫秒调用一次onTick()
		public MyCountDownTimer(long millisInFuture, long countDownInterval) { 
			super(millisInFuture, countDownInterval); 
		} 
		public void onFinish() { 
			tv_countDown.setText("开始跳转……");
		} 
		public void onTick(long millisUntilFinished) { 
			tv_countDown.setText("倒计时(" + millisUntilFinished / 1000 + ")");
		} 
	}

}
五、MainActivity.java代码
package com.zgs.SplashScreenByXml;

import android.app.Activity;
import android.os.Bundle;
import com.zgs.CommonlySplashScreen.R;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		//为了让闪屏结束后更自然的过度到主界面,去除主界面的启动动画,将下面函数的第一个参数设为0即可
		overridePendingTransition(0, 0);
	}
}
六、操作演示

版权声明:本文为【CSDN博主:松一160】原创文章,未经允许不得转载。

相关文章推荐

Android中使用Handler以及CountDownTimer实现包含倒计时的闪屏页面

上一篇博文《Android中Handler使用浅析》通过实现倒计时闪屏页面的制作引出了Handler的使用方法以及实现原理,博文末尾也提到了实现过程中的Bug,有兴趣的朋友可以点击链接回去看看。今天通...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Android自定义view之(CSDN应用splash界面的倒计时View)

最近有点闲,准确来说是很闲,每天早上要在公车上度过一段时间,一般我就会打开csdn应用看看别人的博客,哎哟~! 看到CSDN欢迎页的倒计时view还不错哦,正好最近在学自定义View,所以就捣腾了一下...
  • vv_bug
  • vv_bug
  • 2016年08月08日 21:54
  • 791

Android 解决ListView 和 ScrollView 共存冲突的问题

Android 解决ListView 和 ScrollView 共存冲突的问题 2010-08-13 15:11 by Terry_龙, 18949 阅读, 8 评论, 收藏, 编辑 ...
  • yyqasg
  • yyqasg
  • 2013年10月12日 16:19
  • 1303

Android使用DrawerLayout实现抽屉式侧滑菜单

Android使用DrawerLayout实现抽屉式侧滑菜单

android闪屏页广告倒计时

  • 2017年02月11日 12:02
  • 38.81MB
  • 下载

自定义闪屏页广告倒计时view

  • 2017年05月19日 21:01
  • 6KB
  • 下载

自定义闪屏页广告倒计时view

如今APP越来越多,我们每天所使用的的软件也越来越多,可是在我们不付费的情况下,App制造商如何变现,实现收入甚至是盈利呢?答案就是在我们打开软件所必须经过的地方穿插广告,当然为了顾及用户的感受,一般...

有倒计时的闪屏Demo

  • 2016年10月11日 14:18
  • 25.16MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android闪屏(普通闪屏、倒计时闪屏、倒计时+动画闪屏)
举报原因:
原因补充:

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