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程序设计有所帮助。