【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。
这种方法的优缺点在上面已经提到,第二种方法将在明天实现。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。