Wenn Ihre App einen benutzerdefinierten Splash Screen implementiert oder ein Launcher-Design 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 detaillierte Implementierungsanleitung, in der Sie erfahren, wie Sie mit der SplashScreen-Bibliothek einen
Splash Screen hinzufügen, der den
Designrichtlinien entspricht.
Abhängigkeiten hinzufügen
Fügen Sie die folgende Abhängigkeit der build.gradle-Datei Ihres App-Moduls hinzu:
Groovy
dependencies { implementation "androidx.core:core-splashscreen:1.2.0" }
Kotlin
dependencies { implementation("androidx.core:core-splashscreen:1.2.0") }
Verwenden Sie Version 1.0.1 oder höher, um Unterstützung für die Standardabmessungen von Wear OS zu erhalten.
Design hinzufügen
Erstellen Sie in res/values/styles.xml ein Splash Screen-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.
Verwenden Sie windowSplashScreenBackground, um den Hintergrund mit einer einzelnen schwarzen Farbe zu füllen. Legen Sie für postSplashScreenTheme das Design fest, das die Aktivität verwenden soll, und für windowSplashScreenAnimatedIcon ein Drawable oder ein 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 unter dem 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"> <!-- 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 Splash Screen-Designs ist ein Drawable erforderlich, das an das Attribut windowSplashScreenAnimatedIcon übergeben wird. Sie können es beispielsweise erstellen, indem Sie eine neue Datei res/drawable/splash_screen.xml hinzufügen und das App-Launcher-Symbol und die richtige Größe für das Splash Screen-Symbol verwenden:
<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 Splash Screen-Symbols wird in res/values/dimens.xml definiert und hängt davon ab, ob das Symbol rund ist:
<resources> <!-- Round app icon can take all of default space --> <dimen name="splash_screen_icon_size">48dp</dimen> </resources>
...oder nicht rund und daher den Symbolhintergrund verwenden muss:
<resources> <!-- Non-round icon with background must use reduced size to fit circle --> <dimen name="splash_screen_icon_size">36dp</dimen> </resources>
Design angeben
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:
<activity android:name=".snippets.SplashScreenActivity" android:exported="true" android:taskAffinity="" android:theme="@style/Theme.App.Starting"> <!-- ... --> </activity>
Startaktivität aktualisieren
Installieren Sie Ihren Splash Screen in der Startaktivität, bevor Sie super.onCreate() aufrufen und Ihre zusammensetzbare Funktion laden:
class SplashScreenActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { installSplashScreen() super.onCreate(savedInstanceState) setContent { WearApp() } } }
Zusätzliche Ressourcen
Weitere Informationen zu Splash Screens im Allgemeinen und dazu, wie Sie sie in Ihrer App verwenden können
Empfehlungen für Sie
- Hinweis: Linktext wird angezeigt, wenn JavaScript deaktiviert ist
- Splash Screen-Implementierung zu Android 12 und höher migrieren
- Splash Screens
- App-Aktionen in Android-Widgets einbinden