【Android学习】Android创建启动画面(1)

每个Android应用启动之后都会出现一个Splash启动界面,上面简单的介绍应用程序的厂商,厂商的LOGO,名称和版本等信息,多为一张图片,显示几秒钟后自动消失,然后显示出应用程序的主体页面。

实现的思路有两种,而且不是这两种方法都能起到预加载数据的作用。第一种方法是用两个Activity来做,第一个Activity用来做启动画面,第二个Activity来做主页面;第二种方法是用一个Activity来做,程序启动时显现启动画面,启动完成后,它就会被隐藏起来。

今天介绍第一种方法来创建程序启动画面。这种方法实现起来比较简单,而且作为单独的Activity,可以设置成各种风格,例如设置成全屏或者NoTitleBar,而且只是SplashActivity设置成全屏不会对其他Activity产生影响(QQ的全屏启动画面很漂亮,即使主页面不是全屏的也不会有违和感)。但是又正因为启动画面作为一个单独的Activity,无法影响其他Activity,而且在这个画面加载时其他Activity还未创建,无法起到数据预加载的作用,仅仅美观而已。讲了这么多,下面就是具体的代码实现过程:

SplashActivity.java代码:

package com.ye_yun_lin.splashactivity;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.view.Window;
import android.view.WindowManager;

public class SplashActivity extends Activity {
	private final int SPLASH_DISPLAY_LENGHT = 6000; // 延迟六秒  

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_NO_TITLE);  //去掉标题
		getWindow().setFlags(WindowManager.LayoutParams.TYPE_STATUS_BAR, WindowManager.LayoutParams.TYPE_STATUS_BAR); //全屏
		setContentView(R.layout.splash);
		
		new Handler().postDelayed(new Runnable() {  
            public void run() {  
                Intent mainIntent = new Intent(SplashActivity.this,  
                        MainActivity.class);  
                SplashActivity.this.startActivity(mainIntent);  
                SplashActivity.this.finish();  
            }  
  
        }, SPLASH_DISPLAY_LENGHT);  
	}

}

AndroidManifest代码:

  <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.ye_yun_lin.splashactivity.MainActivity"
            android:label="@string/app_name" >
        </activity>
        <activity
            android:name="com.ye_yun_lin.splashactivity.SplashActivity"
            android:label="@style/AppTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

其核心代码就是SplashActivity.java,并且要注意在AndroidManifest设置SplashActivity为初始启动Activity。

这种方法的优缺点在上面已经提到,第二种方法将在明天实现。

【Android学习】Android创建启动画面(1),,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。