一起Talk Android吧(第三百一十回:创建程序启动界面Splash Screen一)
Posted talk_8
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一起Talk Android吧(第三百一十回:创建程序启动界面Splash Screen一)相关的知识,希望对你有一定的参考价值。
各位看官们,大家好,上一回中咱们说的是风格VS主题的例子,这一回咱们说的例子是创建程序启动界面。闲话休提,言归正转。让我们一起Talk android吧!
看官们,在使用手机应用程序时大部分程序都在启动时都会弹出一个程序启动界面,该界面可能是介绍自己的,比如微信的启动界面,也可能是广告界面,比如淘宝和京东(这两个应用程序中尤其突出)。本章回中我们将结合前面章回中风格和主题相关的知识来创建程序启动界面,下面是具体的操作步骤。
- 1.创建一个EmptyActivity的工程,此工程中只有一个主界面:MainActivity;
- 2.创建一个名叫SplashScreen的Activity,同时将其设置为Launcher Activity,具体操作为:在AndroidManifest.xml文件中把MainActivity和SplashScreen互换;
- 3.创建一个名叫AppThemeCustomize的主题,代码如下:
<style name="AppThemeCustomize" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
- 4.把AppThemeCustomize的主题应用SplashScreen Activity上,具体操作为:在AndroidManifest.xml文件中给该Activity配置theme属性,详细的代码如下:
<activity android:name=".SplashScreen"
android:theme="@style/AppThemeCustomize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
- 5.在SplashScreen Activity的java代码中添加程序逻辑,使其跳转到程序主界面MainActivity中,具体代码如下:
public class SplashScreen extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lunach);
new Thread(){
@Override
public void run() {
Intent intent = new Intent( SplashScreen.this, MainActivity.class);
try {
sleep(1000);
}catch (Exception e) {
e.printStackTrace();
}
startActivity(intent);
}
}.start();
}
}
这段代码中的逻辑就是启动一个线程,让该线程暂停1s,然后跳转到程序主界面中。
保存代码并且运行程序就可以看到一个覆盖整个屏幕并且没有ActionBar的界面,我们在这里就不演示程序运行结果了,大家可以自己动手实践。此外,关于创建的主题时继承了"Theme.AppCompat.Light.DarkActionBar" 这个主题,这是创建工程时默认的主题,我们只是重写的该主题的两个属性,使其不在显示ActionBar.还有一种方法是继承一个没有ActionBar的主题,比如:"Theme.AppCompat.DayNight.NoActionBar",这时就不需要重写属性来去掉ActionBar,
因为该主题已经去掉了ActionBar。
各位看官,关于Android中创建程序启动界面的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!
以上是关于一起Talk Android吧(第三百一十回:创建程序启动界面Splash Screen一)的主要内容,如果未能解决你的问题,请参考以下文章
一起Talk Android吧(第三百一十九回:Android中网络通信之TCP概述)
一起Talk Android吧(第三百一十五回:Android中的ActionBar)
一起Talk Android吧(第三百一十四回:ImageView常用属性三)
一起Talk Android吧(第三百一十三回:ImageView常用属性二)