Wenn für Ihre App ein benutzerdefinierter Ladebildschirm implementiert oder ein Launcher-Design verwendet wird, migrieren Sie
Ihre App in der SplashScreen
-Bibliothek, die in Jetpack verfügbar ist,
werden in allen Wear OS-Versionen korrekt angezeigt.
In der Schritt-für-Schritt-Implementierungsanleitung auf dieser Seite erfahren Sie, wie Sie ein
Ladebildschirms über die SplashScreen
-Bibliothek ein, sodass der Bildschirm
Designrichtlinien.
Abhängigkeiten hinzufügen
Füge der Datei build.gradle
deines App-Moduls die folgende Abhängigkeit hinzu:
Cool
dependencies { implementation "androidx.core:core-splashscreen:1.2.0-alpha02" }
Kotlin
dependencies { implementation("androidx.core:core-splashscreen:1.2.0-alpha02") }
Achten Sie darauf, dass Sie Version 1.0.1
oder höher verwenden, um Unterstützung für die Standardversion zu erhalten
Wear OS-Dimensionen
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, verwende
Theme.SplashScreen.IconBackground
.
Verwende windowSplashScreenBackground
, um den Hintergrund mit einem einzelnen Schwarz zu füllen
Farbe. Setzen Sie die Werte von postSplashScreenTheme
auf das Design der Aktivität.
und windowSplashScreenAnimatedIcon
zu einem Drawable- oder animierten
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 darunter eine weiße Hintergrundfarbe festlegen.
Ihr Symbol. Verwenden Sie in diesem Fall Theme.SplashScreen.IconBackground
als übergeordnetes Element.
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 sie zum Beispiel
Hinzufügen einer neuen Datei res/drawable/splash_screen.xml
und Verwenden des App Launcher-Symbols
und die richtige Größe des Ladebildschirms:
<?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 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
Aktivität starten - normalerweise diejenigen, die ein Launcher-Element definieren oder
in das zuvor erstellte Design importieren:
<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 anrufst
super.onCreate()
:
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 Ladebildschirms zu Android 12 und höher migrieren
- Ladebildschirme
- App-Aktionen in Android-Widgets einbinden