Wenn für deine App ein benutzerdefinierter Ladebildschirm oder ein Launcher-Design verwendet wird, migriere sie zur SplashScreen
-Bibliothek, die in Jetpack verfügbar ist, damit sie in allen Wear OS-Versionen korrekt angezeigt wird.
In der Schritt-für-Schritt-Anleitung auf dieser Seite erfährst du, wie du mithilfe der SplashScreen
-Bibliothek einen Ladebildschirm hinzufügst, damit der Bildschirm den Designrichtlinien entspricht.
Abhängigkeiten hinzufügen
Füge der Datei build.gradle
deines App-Moduls die folgende Abhängigkeit hinzu:
Groovig
dependencies { implementation "androidx.core:core-splashscreen:1.2.0-alpha01" }
Kotlin
dependencies { implementation("androidx.core:core-splashscreen:1.2.0-alpha01") }
Damit du Wear OS-Standarddimensionen unterstützen kannst, benötigst du Version 1.0.1
oder höher.
Design hinzufügen
Erstelle ein Design für den Ladebildschirm in res/values/styles.xml
. Das übergeordnete Element hängt von der Form des Symbols ab:
- Wenn das Symbol rund ist, verwende
Theme.SplashScreen
. - Wenn das Symbol eine andere Form hat, verwenden Sie
Theme.SplashScreen.IconBackground
.
Verwenden Sie windowSplashScreenBackground
, um den Hintergrund in einer einzigen schwarzen Farbe zu füllen. Lege für postSplashScreenTheme
das Design 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 unter dem Symbol einen weißen Hintergrund festlegen. Verwenden Sie in diesem Fall das Theme.SplashScreen.IconBackground
als übergeordnetes Thema 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.
Ein Drawable für das Design erstellen
Für Ladebildschirm-Designs ist ein Drawable erforderlich, um an das Attribut windowSplashScreenAnimatedIcon
übergeben zu werden. Sie können sie beispielsweise erstellen, indem Sie die neue Datei res/drawable/splash_screen.xml
hinzufügen, das App Launcher-Symbol verwenden und die Größe des Ladebildschirms anpassen:
<?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 Ladebildschirms 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 und muss daher den Symbolhintergrund verwenden:
<?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 angeben
Ersetzen Sie in der Manifestdatei AndroidManifest.xml
Ihrer App das Design der zu startenden Aktivität durch das Design, das Sie im vorherigen Schritt erstellt haben. In der Regel sind es solche, die ein Launcher-Element definieren oder anderweitig exportiert werden:
<manifest>
<application android:theme="@style/Theme.App.Starting">
<!-- or -->
<activity android:theme="@style/Theme.App.Starting">
<!-- ... -->
</manifest>
Startaktivität aktualisieren
Installiere den Ladebildschirm in der Startaktivität, bevor du super.onCreate()
aufrufst:
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 Ladebildschirmen im Allgemeinen und zu ihrer Verwendung in deiner App
Empfehlungen für dich
- Hinweis: Der Linktext wird angezeigt, wenn JavaScript deaktiviert ist.
- Implementierung des Ladebildschirms zu Android 12 und höher migrieren
- Ladebildschirme
- App Actions in Android-Widgets einbinden