如何在没有额外活动的情况下在 Android 中创建启动画面?
启动画面是应用程序打开时的第一个屏幕。它用于在应用程序完全加载之前显示一些基本的介绍性信息,例如公司徽标、内容等。在本文中,我们将遵循最佳实践来创建一个启动画面,该画面无需为其创建额外的 Activity,一旦 Activity 加载它就会消失。下面是一个示例视频,用于展示我们将要构建的内容。您可以在此项目中使用Java/Kotlin 。
Note:
- To create a splash screen in Java: Creating a Splash Screen
- To create a splash screen in Kotlin: How to Create a Splash Screen in Android using Kotlin?
- To create an animated splash screen: How to Create an Animated Splash Screen in Android?
分步实施
第 1 步:创建一个新项目
要在 Android Studio 中创建新项目,请参阅如何在 Android Studio 中创建/启动新项目。您可以选择Kotlin/ Java作为编程语言。
第 2 步:创建一个新的可绘制文件并将其命名为“splash_image.xml”
转到res -> drawable -> splash_image.xml和以下代码。添加了评论。
XML
XML
XML
Kotlin
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// add the default theme here which we want
// to display after the splash screen is shown
setTheme(R.style.Theme_SplashAPIGFG)
setContentView(R.layout.activity_main)
}
}
XML
第 3 步:在 themes.xml 文件中添加新样式
转到res -> values -> themes.xml添加一个新样式并将其命名为“ splashScreenTheme ”。这将保存我们想要在启动屏幕上显示的信息,例如WindowBackground和状态栏颜色。
XML
第 4 步:将样式添加到清单文件
XML
步骤 5:使用 MainActivity.kt 文件
转到MainActivity.kt文件并参考以下代码。下面是 MainActivity.kt 文件的代码。这里设置我们想要在显示启动画面后显示的主题。
科特林
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// add the default theme here which we want
// to display after the splash screen is shown
setTheme(R.style.Theme_SplashAPIGFG)
setContentView(R.layout.activity_main)
}
}
注意:activity_main.xml文件只有一个文本视图来显示消息。
XML
输出: