Android开发基础之创建启动界面Splash Screen的方法
本文实例讲述了Android开发基础之创建启动界面SplashScreen的方法。分享给大家供大家参考。具体如下:
启动界面SplashScreen在应用程序是很常用的,往往在启动界面中显示产品Logo、公司Logo或者开发者信息,如果应用程序启动时间比较长,那么启动界面就是一个很好的东西,可以让用户耐心等待这段枯燥的时间。
Android应用程序创建一个启动界面SplashScreen非常简单。比如创建一个工程MySample,主Acitity就叫MySample,创建另一个Activity叫SplashScreen,用于显示启动界面,资源文件为splash.xml。至于如何制作SplashSceen界面,这不是本文章要讨论的东西,就此略过。
SplashScreen的代码如下:
packagecom.ctoof.android;
importandroid.app.Activity;
importandroid.content.Intent;
importandroid.os.Bundle;
importandroid.view.MotionEvent;
publicclassSplashScreenextendsActivity{
protectedboolean_active=true;
protectedint_splashTime=5000;
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
ThreadsplashTread=newThread(){
@Override
publicvoidrun(){
try{
intwaited=0;
while(_active&&(waited<_splashTime)){
sleep(100);
if(_active){
waited+=100;
}
}
}catch(InterruptedExceptione){
//donothing
}finally{
finish();
//启动主应用
startActivity(newIntent("com.ctoof.android.MySample.MyApp"));
stop();
}
}
};
splashTread.start();
}
@Override
publicbooleanonTouchEvent(MotionEventevent){
if(event.getAction()==MotionEvent.ACTION_DOWN){
_active=false;
}
returntrue;
}
}
然后在AndroidMainfest.xml中修改代码如下:
<?xmlversion="1.0"encoding="utf-8"?> <manifestxmlns:android="http://schemas.android.com/apk/res/android" package="com.ctoof.android" android:versionCode="1" android:versionName="1.0"> <applicationandroid:icon="@drawable/icon"android:label="@string/app_name"> <activityandroid:name=".SplashScreen" android:label="@string/app_name"> <intent-filter> <actionandroid:name="android.intent.action.MAIN"/> <categoryandroid:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> <activityandroid:name=".MyApp"> <intent-filter> <actionandroid:name="com.ctoof.android.MySample.MyApp"/> <categoryandroid:name="android.intent.category.DEFAULT"/> </intent-filter> </activity> </application> <uses-sdkandroid:minSdkVersion="4"/> </manifest>
在这里负责注册两个活动。把负责管理启动界面SplashScreen的活动Activity作为应用程序的主活动,然后在SplashScreen中负责启动MyApp。
希望本文所述对大家的Android程序设计有所帮助。