Uygulamanızda özel bir başlangıç ekranı uygulanıyorsa veya başlatıcı teması kullanılıyorsa tüm Wear OS sürümlerinde doğru şekilde gösterilmesi için uygulamanızı Jetpack'te bulunan SplashScreen
kitaplığına taşıyın.
SplashScreen
kitaplığını kullanarak ekranın tasarım kurallarına uygun şekilde açılış ekranı eklemeyi öğrenmek için bu sayfadaki adım adım uygulama talimatlarını inceleyin.
Bağımlılık ekleme
Uygulama modülünüzün build.gradle
dosyasına aşağıdaki bağımlılığı ekleyin:
Groovy
dependencies { implementation "androidx.core:core-splashscreen:1.2.0-beta02" }
Kotlin
dependencies { implementation("androidx.core:core-splashscreen:1.2.0-beta02") }
Varsayılan Wear OS boyutları için destek almak istiyorsanız 1.0.1
veya sonraki bir sürümü kullandığınızdan emin olun.
Tema ekleme
res/values/styles.xml
'da başlangıç ekranı teması oluşturun. Üst öğe, simgenin şekline bağlıdır:
- Simge yuvarlaksa
Theme.SplashScreen
simgesini kullanın. - Simge farklı bir şekilse
Theme.SplashScreen.IconBackground
kullanın.
Arka planı tek bir siyah renkle doldurmak için windowSplashScreenBackground
simgesini kullanın. postSplashScreenTheme
değerlerini Activity'nin kullanması gereken temaya, windowSplashScreenAnimatedIcon
değerlerini ise çizilebilir veya animasyonlu çizilebilir öğeye ayarlayın:
<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>
Yuvarlak olmayan bir simge kullanıyorsanız simgenizin altında beyaz bir arka plan rengi ayarlamanız gerekir. Bu durumda, Theme.SplashScreen.IconBackground
özelliğini üst tema olarak kullanın ve windowSplashScreenIconBackgroundColor
özelliğini ayarlayın:
<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>
Diğer özellikler isteğe bağlıdır.
Tema için çizilebilir öğe oluşturma
Açılış ekranı temaları için windowSplashScreenAnimatedIcon
özelliğine aktarılacak bir çizilebilir öğe gerekir. Örneğin, yeni bir dosya ekleyerek res/drawable/splash_screen.xml
ve uygulama başlatıcı simgesini kullanarak ve doğru başlangıç ekranı simge boyutunu kullanarak oluşturabilirsiniz:
<?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>
Açılış ekranı simge boyutu res/values/dimens.xml
içinde tanımlanır ve simgenin yuvarlak olup olmamasına bağlı olarak değişir:
<?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>
...veya yuvarlak olmayan ve bu nedenle simge arka planını kullanması gerekenler:
<?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>
Temayı belirtin
Uygulamanızın manifest dosyasında (AndroidManifest.xml
), başlangıç etkinliğinin temasını (genellikle başlatıcı öğesini tanımlayan veya başka bir şekilde dışa aktarılan) önceki adımda oluşturduğunuz temayla değiştirin:
<manifest>
<application android:theme="@style/Theme.App.Starting">
<!-- or -->
<activity android:theme="@style/Theme.App.Starting">
<!-- ... -->
</manifest>
Başlangıç etkinliğinizi güncelleme
super.onCreate()
işlevini çağırmadan önce başlangıç etkinliğine başlangıç ekranınızı yükleyin:
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
// Handle the splash screen transition.
installSplashScreen()
super.onCreate(savedInstanceState)
setContent {
WearApp("Wear OS app")
}
}
}
Ek kaynaklar
Genel olarak başlangıç ekranları ve bunları uygulamanızda nasıl kullanabileceğiniz hakkında daha fazla bilgi edinin.
Sizin için önerilenler
- Not: JavaScript kapalıyken bağlantı metni gösterilir.
- Başlangıç ekranı uygulamanızı Android 12 ve sonraki sürümlere taşıma
- Başlangıç ekranları
- Uygulama İşlemlerini Android widget'larıyla entegre etme