松一160

中国实习生

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

一、项目目录结构

二、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】原创文章,未经允许不得转载。 https://blog.csdn.net/songyi160/article/details/53994486
个人分类: Android笔记
上一篇Eclipse下drawable不同目录对应的屏幕分辨率
下一篇SVN服务器客户端环境搭建
想对作者说点什么? 我来说一句

android闪屏页广告倒计时

2017年02月11日 38.81MB 下载

倒计时闪屏Demo

2016年10月11日 25.16MB 下载

没有更多推荐了,返回首页

关闭
关闭