android 闪屏动态界面,设置闪屏以及跳转到登陆界面实例演示

android:layout_width="fill_parent"

d1c4f06209e6837320991872fdd0f1a8.png

android:layout_height="fill_parent">

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:id="@+id/p_w_picpathView3"

android:src="@drawable/splash" />

闪屏以及跳转到Mainactivity!

package com.example.administrator.myapplication;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.util.Log;

import android.view.KeyEvent;

/**

* Created by Administrator on 2015/5/30.

*/

public class SplashyDemo extends Activity {

private long m_dwSplashTime=1000;

private boolean m_bPaused=false;

private boolean m_bSplashActive=true;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.splashdemo);

Thread splashTimer=new Thread()

{

public void run(){

try{

//wait loop

long ms=0;

while(m_bSplashActive && ms

sleep(100);

if(!m_bPaused)

ms+=100;

}

Intent intent=new Intent(SplashyDemo.this,MainActivity.class);

startActivity(intent);

}

catch(Exception ex){

Log.e("Splash", ex.getMessage());

}

finally{

finish();

}

}

};

splashTimer.start();

}

@Override

protected void onPause() {

super.onPause();

m_bPaused=true;

}

@Override

protected void onResume() {

super.onResume();

m_bPaused=false;

}

@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {

super.onKeyDown(keyCode, event);

switch(keyCode){

case KeyEvent.KEYCODE_MENU:

m_bSplashActive=false;

break;

case KeyEvent.KEYCODE_BACK:

/*两种退出方法*/

/* System.exit(0);*/

/* android.os.Process.killProcess(android.os.Process.myPid());*/

android.os.Process.killProcess(android.os.Process.myPid());

break;

default:

break;

}

return true;

}

}

1)变量解释:

m_dwSplashTime:long 类型,为闪屏界面停留的时间,这儿设置为3000也就是3秒

m_Paused: bool 类型,设置该变量可以使得程序暂停在闪屏界面

m_bSplashActive:bool类型,设置该变量可以跳过闪屏,从而快速竟如主程序界面

2)程序结构解释:

SplashyDemo继承自Activity,且是程序启动的第一个界面(查看),所以要实现闪屏,我们需要开启一个线程,以便在1秒钟之后进入主界面。这些主要有一个while循环来实现

在1秒钟结束或者用户选择跳过闪屏后,程序会调用startActivity函数来跳到主界面

第二种方法:

这是一个不能打断闪屏,只能被动的接受闪屏结束的方法 。对于这种方法,就不做实例了,如果读者自己感兴趣的话可以自己尝试着做一下。

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.os.Handler;

public class StartActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_star);

// 闪屏的核心代码

new Handler().postDelayed(new Runnable() {

@Override

public void run() {

Intent intent = new Intent(StartActivity.this,

MainActivity.class); // 从启动动画ui跳转到主ui

startActivity(intent);

/* overridePendingTransition(

R.anim.push_left_out,R.anim.push_left_in);*/

StartActivity.this.finish(); // 结束启动动画界面

}

}, 1500);

}

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值