Jeśli Twoja aplikacja implementuje niestandardowy ekran powitalny lub używa motywu launchera, przenieś
ją do biblioteki SplashScreen dostępnej w Jetpacku, aby mieć pewność, że będzie się ona
prawidłowo wyświetlać we wszystkich wersjach Wear OS.
Instrukcje implementacji krok po kroku znajdziesz na tej stronie. Dowiesz się z nich, jak dodać ekran powitalny za pomocą biblioteki SplashScreen, aby spełniał on
wytyczne projektowe.
Dodawanie zależności
Dodaj tę zależność do pliku build.gradle modułu aplikacji:
Groovy
dependencies { implementation "androidx.core:core-splashscreen:1.2.0" }
Kotlin
dependencies { implementation("androidx.core:core-splashscreen:1.2.0") }
Aby korzystać z domyślnych wymiarów Wear OS, używaj wersji 1.0.1 lub nowszej.
Dodawanie motywu
Utwórz motyw ekranu powitalnego w pliku res/values/styles.xml. Element nadrzędny zależy od kształtu ikony:
- Jeśli ikona jest okrągła, użyj
Theme.SplashScreen. - Jeśli ikona ma inny kształt, użyj
Theme.SplashScreen.IconBackground.
Użyj windowSplashScreenBackground, aby wypełnić tło jednolitym czarnym kolorem. Ustaw wartości postSplashScreenTheme na motyw, którego ma używać aktywność, a windowSplashScreenAnimatedIcon na element rysowalny lub animowany element rysowalny:
<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>
Jeśli używasz ikony innej niż okrągła, musisz ustawić pod nią białe tło. W takim przypadku użyj Theme.SplashScreen.IconBackground jako motywu nadrzędnego i ustaw atrybut windowSplashScreenIconBackgroundColor:
<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>
Pozostałe atrybuty są opcjonalne.
Tworzenie elementu rysowalnego dla motywu
Motywy ekranu powitalnego wymagają elementu rysowalnego, który należy przekazać do atrybutu windowSplashScreenAnimatedIcon. Możesz go na przykład utworzyć, dodając nowy plik res/drawable/splash_screen.xml i używając ikony launchera aplikacji oraz prawidłowego rozmiaru ikony ekranu powitalnego:
<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>
Rozmiar ikony ekranu powitalnego jest zdefiniowany w pliku res/values/dimens.xml i różni się w zależności od tego, czy ikona jest okrągła:
<resources> <!-- Round app icon can take all of default space --> <dimen name="splash_screen_icon_size">48dp</dimen> </resources>
...czy nieokrągła, a zatem musi używać tła ikony:
<resources> <!-- Non-round icon with background must use reduced size to fit circle --> <dimen name="splash_screen_icon_size">36dp</dimen> </resources>
Określanie motywu
W pliku manifestu aplikacji (AndroidManifest.xml) zastąp motyw aktywności początkowej – zwykle tych, które definiują element launchera lub są eksportowane – motywem utworzonym w poprzednim kroku:
<activity android:name=".snippets.SplashScreenActivity" android:exported="true" android:taskAffinity="" android:theme="@style/Theme.App.Starting"> <!-- ... --> </activity>
Aktualizowanie aktywności początkowej
Zainstaluj ekran powitalny w aktywności początkowej przed wywołaniem super.onCreate() i wczytaniem elementu kompozycyjnego:
class SplashScreenActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { installSplashScreen() super.onCreate(savedInstanceState) setContent { WearApp() } } }
Dodatkowe materiały
Dowiedz się więcej o ekranach powitalnych i o tym, jak możesz ich używać w swojej aplikacji.
Polecane dla Ciebie
- Uwaga: tekst linku jest wyświetlany, gdy język JavaScript jest wyłączony.
- Przenoszenie implementacji ekranu powitalnego na Androida 12 i nowsze wersje
- Ekrany powitalne
- Integracja działań w aplikacji z widżetami Androida