Uygulamanızda özel başlangıç ekranı veya başlatıcı teması kullanılıyorsa tüm Wear OS sürümlerinde doğru şekilde görüntülendiğinden emin olmak için uygulamanızı Jetpack'te bulunan SplashScreen
kitaplığına taşıyın.
SplashScreen
kitaplığını kullanarak ekranın tasarım yönergelerine uygun olması için başlangıç 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:
Modern
dependencies { implementation "androidx.core:core-splashscreen:1.2.0-alpha01" }
Kotlin
dependencies { implementation("androidx.core:core-splashscreen:1.2.0-alpha01") }
Varsayılan Wear OS boyutlarıyla ilgili destek almak için 1.0.1
veya sonraki bir sürümü kullandığınızdan emin olun.
Tema ekle
res/values/styles.xml
ürününde başlangıç ekranı teması oluşturun. Üst öğe, simgenin şekline bağlıdır:
- Simge yuvarlaksa
Theme.SplashScreen
kullanın. - Simge farklı bir şekilse
Theme.SplashScreen.IconBackground
öğesini kullanın.
Arka planı tek bir siyah renkle doldurmak için windowSplashScreenBackground
uygulamasını kullanın. postSplashScreenTheme
değerlerini Etkinliğin kullanması gereken temaya, windowSplashScreenAnimatedIcon
değerini ise çekilebilir veya animasyonlu bir çizime 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, üst tema olarak Theme.SplashScreen.IconBackground
öğesini 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 bir çekilebilir öğe oluşturun
Başlangıç ekranı temalarının windowSplashScreenAnimatedIcon
özelliğine geçmesi için bir çekilebilir öğe gerekir. Örneğin, yeni bir dosya (res/drawable/splash_screen.xml
) ekleyip uygulama başlatıcı simgesini ve doğru başlangıç ekranı simge boyutunu kullanarak yeni bir uygulama 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>
Başlangıç ekranı simgesinin boyutu res/values/dimens.xml
cinsinden tanımlanır ve simgenin yuvarlak olmasına göre 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 değildir ve bu nedenle simge arka planını kullanmalıdır:
<?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 bir 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üncelleyin
super.onCreate()
numaralı telefonu aramadan ö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: Bağlantı metni JavaScript kapalıyken görüntülenir
- Kartları kullanmaya başlama
- Aktif veriler ve egzersizler
- Pasif veri güncellemeleri