Jeśli Twoja aplikacja implementuje niestandardowy ekran powitalny lub używa motywu programu uruchamiającego, przenieś ją do biblioteki SplashScreen dostępnej w Jetpacku, aby zapewnić jej prawidłowe wyświetlanie we wszystkich wersjach Wear OS.
Na tej stronie znajdziesz szczegółowe instrukcje dodawania ekranu powitalnego za pomocą biblioteki SplashScreen, tak aby spełniał on wytyczne dotyczące projektowania.
Dodawanie zależności
Dodaj do pliku build.gradle modułu aplikacji tę zależność:
Groovy
dependencies { implementation "androidx.core:core-splashscreen:1.2.0" }
Kotlin
dependencies { implementation("androidx.core:core-splashscreen:1.2.0") }
Aby uzyskać obsługę domyślnych wymiarów Wear OS, upewnij się, że używasz 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ść postSplashScreenTheme na motyw, którego ma używać Activity, a wartość windowSplashScreenAnimatedIcon na obiekt rysowalny lub animowany:
<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, która nie jest 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ą przekazania elementu rysowalnego do atrybutu windowSplashScreenAnimatedIcon. Możesz go na przykład utworzyć, dodając nowy plik res/drawable/splash_screen.xml i używając ikony programu uruchamiającego aplikacje 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 na ekranie powitalnym jest określony w 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>
…lub nie są okrągłe i dlatego muszą 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śl motyw
W pliku manifestu aplikacji (AndroidManifest.xml) zastąp motyw aktywności początkowej (zwykle definiującej element programu uruchamiającego lub wyeksportowanej w inny sposób) motywem utworzonym w poprzednim kroku:
<activity android:name=".snippets.SplashScreenActivity" android:exported="true" android:taskAffinity="" android:theme="@style/Theme.App.Starting"> <!-- ... --> </activity>
Zaktualizuj aktywność początkową
Zainstaluj ekran powitalny w aktywności początkowej przed wywołaniem super.onCreate() i wczytaniem funkcji kompozycyjnej:
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 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 akcji w aplikacji z widżetami na Androida