Se la tua app implementa una schermata iniziale personalizzata o utilizza un tema Avvio app, esegui la migrazione dell'app nella raccolta SplashScreen
, disponibile in Jetpack, per assicurarti che venga visualizzata correttamente su tutte le versioni di Wear OS.
Consulta le istruzioni dettagliate per l'implementazione in questa pagina per scoprire come aggiungere una
schermata iniziale utilizzando la libreria SplashScreen
in modo che rispetti le
linee guida per la progettazione.
Aggiungi dipendenze
Aggiungi la seguente dipendenza al file build.gradle
del modulo dell'app:
Trendy
dependencies { implementation "androidx.core:core-splashscreen:1.2.0-alpha01" }
Kotlin
dependencies { implementation("androidx.core:core-splashscreen:1.2.0-alpha01") }
Assicurati di utilizzare la versione 1.0.1
o successiva per ricevere assistenza per le dimensioni Wear OS predefinite.
Aggiungi un tema
Crea un tema per la schermata iniziale in res/values/styles.xml
. L'elemento principale
dipende dalla forma dell'icona:
- Se l'icona è rotonda, utilizza
Theme.SplashScreen
. - Se l'icona ha una forma diversa, utilizza
Theme.SplashScreen.IconBackground
.
Usa windowSplashScreenBackground
per riempire lo sfondo con un solo colore nero. Imposta i valori di postSplashScreenTheme
sul tema che deve utilizzare l'attività e di windowSplashScreenAnimatedIcon
su un disegno disegnabile o animato:
<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>
Se utilizzi un'icona non rotonda, devi impostare un colore di sfondo bianco sotto l'icona. In questo caso, utilizza Theme.SplashScreen.IconBackground
come tema
principale e imposta l'attributo windowSplashScreenIconBackgroundColor
:
<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>
Gli altri attributi sono facoltativi.
Crea una bozza per il tema
I temi della schermata iniziale richiedono il passaggio di un elemento di disegno all'attributo
windowSplashScreenAnimatedIcon
. Ad esempio, puoi crearlo aggiungendo un nuovo file res/drawable/splash_screen.xml
e utilizzando l'icona di Avvio applicazioni e le dimensioni corrette dell'icona della schermata iniziale:
<?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>
Le dimensioni dell'icona della schermata iniziale sono definite nel criterio res/values/dimens.xml
e variano
a seconda che l'icona sia rotonda:
<?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>
...o non tondeggiante, pertanto devi utilizzare lo sfondo dell'icona:
<?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>
Specifica il tema
Nel file manifest dell'app (AndroidManifest.xml
), sostituisci il tema dell'attività iniziale, di solito quelli che definiscono un elemento in Avvio applicazioni o che vengono esportati in altro modo, con il tema creato nel passaggio precedente:
<manifest>
<application android:theme="@style/Theme.App.Starting">
<!-- or -->
<activity android:theme="@style/Theme.App.Starting">
<!-- ... -->
</manifest>
Aggiorna l'attività iniziale
Installa la schermata iniziale nell'attività iniziale prima di chiamare
super.onCreate()
:
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
// Handle the splash screen transition.
installSplashScreen()
super.onCreate(savedInstanceState)
setContent {
WearApp("Wear OS app")
}
}
}
Risorse aggiuntive
Scopri di più sulle schermate iniziali in generale e su come utilizzarle nella tua app.
Consigliato per te
- Nota: il testo del link viene visualizzato quando JavaScript è disattivato
- Guida introduttiva alle schede
- Dati attivi ed allenamenti
- Aggiornamenti di dati passivi