Keywords: splashscreen
Wenn Ihre App einen benutzerdefinierten Begrüßungsbildschirm implementiert oder ein Launcher-Design verwendet, migrieren Sie Ihre App zur SplashScreen
-Bibliothek, die in Jetpack verfügbar ist, damit sie in allen Wear OS-Versionen korrekt angezeigt wird.
Auf dieser Seite finden Sie eine detaillierte Anleitung zum Hinzufügen eines Startbildschirms mit der SplashScreen
-Bibliothek, damit der Bildschirm den Designrichtlinien entspricht.
Abhängigkeiten hinzufügen
Fügen Sie der Datei build.gradle
Ihres App-Moduls die folgende Abhängigkeit hinzu:
Groovy
dependencies { implementation "androidx.core:core-splashscreen:1.2.0-alpha02" }
Kotlin
dependencies { implementation("androidx.core:core-splashscreen:1.2.0-alpha02") }
Sie benötigen Version 1.0.1
oder höher, um die Unterstützung für die standardmäßigen Wear OS-Abmessungen zu erhalten.
Design hinzufügen
Erstellen Sie in res/values/styles.xml
ein Begrüßungsbildschirm-Design. Das übergeordnete Element hängt von der Form des Symbols ab:
- Wenn das Symbol rund ist, verwenden Sie
Theme.SplashScreen
. - Wenn das Symbol eine andere Form hat, verwenden Sie
Theme.SplashScreen.IconBackground
.
Mit windowSplashScreenBackground
können Sie den Hintergrund mit einer einzelnen schwarzen Farbe füllen. Legen Sie für postSplashScreenTheme
das Thema fest, das für die Aktivität verwendet werden soll, und für windowSplashScreenAnimatedIcon
ein drawable oder animiertes drawable:
<resources>
<style name="Theme.App" parent="@android:style/Theme.DeviceDefault" />
<style name="Theme.App.Starting" parent="Theme.SplashScreen">
<!-- Set the splash screen background to black -->
<item name="windowSplashScreenBackground">@android:color/black</item>
<!-- Use windowSplashScreenAnimatedIcon to add a drawable or an animated
drawable. -->
<item name="windowSplashScreenAnimatedIcon">@drawable/splash_screen</item>
<!-- Set the theme of the Activity that follows your splash screen. -->
<item name="postSplashScreenTheme">@style/Theme.App</item>
</style>
</resources>
Wenn Sie ein nicht rundes Symbol verwenden, müssen Sie für das Symbol eine weiße Hintergrundfarbe festlegen. Verwenden Sie in diesem Fall Theme.SplashScreen.IconBackground
als übergeordnetes Design und legen Sie das Attribut windowSplashScreenIconBackgroundColor
fest:
<style name="Theme.App.Starting" parent="Theme.SplashScreen.IconBackground">
...
<!-- Set a white background behind the splash screen icon. -->
<item name="windowSplashScreenIconBackgroundColor">@android:color/white</item>
</style>
Die anderen Attribute sind optional.
Zeichnen Sie ein Bild für das Design.
Für Ladebildschirmthemen ist ein drawable erforderlich, das an das windowSplashScreenAnimatedIcon
-Attribut übergeben wird. Sie können beispielsweise eine neue Datei res/drawable/splash_screen.xml
hinzufügen und das Symbol des App Launchers sowie die Größe des Splashscreen-Symbols verwenden:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:width="@dimen/splash_screen_icon_size"
android:height="@dimen/splash_screen_icon_size"
android:drawable="@mipmap/ic_launcher"
android:gravity="center" />
</layer-list>
Die Größe des Symboles im Startbildschirm wird in res/values/dimens.xml
definiert und unterscheidet sich je nachdem, ob das Symbol rund ist:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Round app icon can take all of default space -->
<dimen name="splash_screen_icon_size">48dp</dimen>
</resources>
...oder nicht rund sind und daher den Symbolhintergrund verwenden müssen:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Non-round icon with background must use reduced size to fit circle -->
<dimen name="splash_screen_icon_size">36dp</dimen>
</resources>
Design festlegen
Ersetzen Sie in der Manifestdatei Ihrer App (AndroidManifest.xml
) das Design der Startaktivität – in der Regel die, die ein Launcher-Element definieren oder anderweitig exportiert werden – durch das Design, das Sie im vorherigen Schritt erstellt haben:
<manifest>
<application android:theme="@style/Theme.App.Starting">
<!-- or -->
<activity android:theme="@style/Theme.App.Starting">
<!-- ... -->
</manifest>
Startaktivität aktualisieren
Installieren Sie Ihren Begrüßungsbildschirm in der Startaktivität, bevor Sie super.onCreate()
aufrufen:
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
// Handle the splash screen transition.
installSplashScreen()
super.onCreate(savedInstanceState)
setContent {
WearApp("Wear OS app")
}
}
}
Weitere Informationen
Weitere Informationen zu Startbildschirmen im Allgemeinen und wie Sie sie in Ihrer App verwenden können.
Empfehlungen für dich
- Hinweis: Der Linktext wird angezeigt, wenn JavaScript deaktiviert ist.
- Implementierung des Begrüßungsbildschirms auf Android 12 und höher migrieren
- Startbildschirme
- App-Aktionen in Android-Widgets einbinden