Wenn deine App einen benutzerdefinierten Ladebildschirm enthält oder ein Launcher-Design verwendet, migriere deine 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 Anleitung für die Implementierung. Sie erfahren, wie Sie mithilfe der SplashScreen
-Bibliothek einen Ladebildschirm hinzufügen, sodass dieser 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") }
Achte darauf, dass du Version 1.0.1
oder höher verwendest, damit Wear OS-Standarddimensionen unterstützt werden.
Design hinzufügen
Du kannst ein Design für den Ladebildschirm in res/values/styles.xml
erstellen. Das übergeordnete Element hängt von der Form des Symbols ab:
- Ist das Symbol rund, 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. Lege für die Werte von postSplashScreenTheme
das Design fest, das in der 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 eine weiße Hintergrundfarbe unter dem Symbol festlegen. Verwenden Sie in diesem Fall 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.
Drawable für das Design erstellen
Für das Design des Begrüßungsbildschirms ist ein Drawable erforderlich, um an das Attribut windowSplashScreenAnimatedIcon
zu übergeben. 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 des Symbols für den Ladebildschirm 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 Ladebildschirmsymbols wird in res/values/dimens.xml
definiert und variiert 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 Ihrer App (AndroidManifest.xml
) das Design der Startaktivität durch das Design, das Sie im vorherigen Schritt erstellt haben. In der Regel handelt es sich dabei um die Designs, 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")
}
}
}
Weitere Informationen
Hier finden Sie allgemeine Informationen zu Ladebildschirmen und dazu, wie Sie sie in Ihrer App verwenden können.
Empfehlungen für dich
- Hinweis: Der Linktext wird angezeigt, wenn JavaScript deaktiviert ist.
- Erste Schritte mit Kacheln
- Aktive Daten und Trainings
- Passive Datenaktualisierungen