Kata kunci: splashscreen
Jika aplikasi Anda menerapkan layar pembuka kustom atau menggunakan tema peluncur, migrasikan
aplikasi ke library SplashScreen
yang tersedia di Jetpack untuk memastikannya
ditampilkan dengan benar di semua perangkat versi Wear OS.
Lihat petunjuk penerapan langkah demi langkah di halaman ini untuk mempelajari cara menambahkan
layar pembuka menggunakan library SplashScreen
sehingga layar memenuhi
pedoman desain.
Menambahkan dependensi
Tambahkan dependensi berikut ke file build.gradle
modul aplikasi Anda:
Groovy
dependencies { implementation "androidx.core:core-splashscreen:1.2.0-alpha02" }
Kotlin
dependencies { implementation("androidx.core:core-splashscreen:1.2.0-alpha02") }
Pastikan Anda menggunakan versi 1.0.1
atau yang lebih tinggi, untuk mendapatkan dukungan bagi dimensi
Wear OS default.
Menambahkan tema
Buat tema layar pembuka di res/values/styles.xml
. Elemen induk
bergantung pada bentuk ikon:
- Jika ikon berbentuk bulat, gunakan
Theme.SplashScreen
. - Jika ikon memiliki bentuk yang berbeda, gunakan
Theme.SplashScreen.IconBackground
.
Gunakan windowSplashScreenBackground
untuk mengisi latar belakang dengan satu warna hitam. Tetapkan nilai postSplashScreenTheme
ke tema yang
harus digunakan Aktivitas dan windowSplashScreenAnimatedIcon
ke drawable atau drawable
animasi:
<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>
Jika menggunakan ikon non-bulat, Anda harus menetapkan warna latar belakang putih di bawah
ikon Anda. Dalam hal ini, gunakan Theme.SplashScreen.IconBackground
sebagai tema induk
dan tetapkan atribut 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>
Atribut lainnya bersifat opsional.
Membuat drawable untuk tema
Tema layar pembuka memerlukan drawable untuk diteruskan ke
atribut windowSplashScreenAnimatedIcon
. Misalnya, Anda dapat membuatnya dengan
menambahkan file baru res/drawable/splash_screen.xml
dan menggunakan ikon peluncur aplikasi
serta ukuran ikon layar pembuka yang benar:
<?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>
Ukuran ikon layar pembuka ditentukan dalam res/values/dimens.xml
dan berbeda
bergantung pada apakah ikon berbentuk bulat:
<?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>
...atau tidak bulat, sehingga harus menggunakan latar belakang ikon:
<?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>
Menentukan tema
Di file manifes aplikasi Anda (AndroidManifest.xml
), ganti tema
aktivitas awal--biasanya aktivitas yang menentukan item peluncur atau
yang diekspor--ke tema yang Anda buat di langkah sebelumnya:
<manifest>
<application android:theme="@style/Theme.App.Starting">
<!-- or -->
<activity android:theme="@style/Theme.App.Starting">
<!-- ... -->
</manifest>
Mengupdate aktivitas awal Anda
Instal layar pembuka Anda di aktivitas awal sebelum memanggil
super.onCreate()
:
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
// Handle the splash screen transition.
installSplashScreen()
super.onCreate(savedInstanceState)
setContent {
WearApp("Wear OS app")
}
}
}
Referensi lainnya
Pelajari lebih lanjut layar pembuka secara umum dan cara menggunakannya di aplikasi Anda.
Direkomendasikan untuk Anda
- Catatan: teks link ditampilkan saat JavaScript nonaktif
- Memigrasikan implementasi layar pembuka ke Android 12 dan yang lebih baru
- Layar pembuka
- Mengintegrasikan Action Aplikasi dengan widget Android