Wenn Ihre App einen benutzerdefinierten Splash-Screen implementiert oder ein Launcher-Theme verwendet, migrieren Sie Ihre App zur SplashScreen
-Bibliothek, die in Jetpack verfügbar ist, damit sie auf allen Wear OS-Versionen korrekt angezeigt wird.
Auf dieser Seite finden Sie eine Schritt-für-Schritt-Anleitung zur Implementierung, mit der Sie einen Splash-Screen mithilfe der SplashScreen
-Bibliothek hinzufügen können, sodass 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-beta02" }
Kotlin
dependencies { implementation("androidx.core:core-splashscreen:1.2.0-beta02") }
Sie müssen Version 1.0.1
oder höher verwenden, um Unterstützung für Wear OS-Standarddimensionen zu erhalten.
Design hinzufügen
Erstellen Sie ein Begrüßungsbildschirm-Design in res/values/styles.xml
. 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
.
Verwenden Sie windowSplashScreenBackground
, um den Hintergrund mit einer einzelnen schwarzen Farbe zu füllen. Legen Sie die Werte von postSplashScreenTheme
auf das Design fest, das für die Aktivität verwendet werden soll, und windowSplashScreenAnimatedIcon
auf 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 eine weiße Hintergrundfarbe darunter festlegen. Verwenden Sie in diesem Fall Theme.SplashScreen.IconBackground
als übergeordnetes Theme 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.
Drawable für das Design erstellen
Für Ladebildschirm-Themes ist ein Drawable erforderlich, das in das Attribut windowSplashScreenAnimatedIcon
eingefügt wird. Sie können sie beispielsweise erstellen, indem Sie eine neue Datei res/drawable/splash_screen.xml
hinzufügen und das App-Launcher-Symbol sowie die richtige Größe für das Splash-Screen-Symbol 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 Symbols auf dem Splash-Screen wird in res/values/dimens.xml
definiert und hängt davon ab, 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>
Thema angeben
Ersetzen Sie in der Manifestdatei Ihrer App (AndroidManifest.xml
) das Theme der Startaktivität – in der Regel die, die ein Launcher-Element definieren oder anderweitig exportiert werden – durch das Theme, 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 den 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")
}
}
}
Zusätzliche Ressourcen
Weitere Informationen zu Startbildschirmen im Allgemeinen und dazu, wie Sie sie in Ihrer App verwenden können.
Empfehlungen für dich
- Hinweis: Linktext wird angezeigt, wenn JavaScript deaktiviert ist.
- Begrüßungsbildschirm-Implementierung zu Android 12 und höher migrieren
- Splash Screens
- App Actions in Android-Widgets einbinden