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 olacak şekilde nasıl açılış ekranı ekleyeceğinizi öğrenmek için bu sayfadaki adım adım uygulama talimatlarına bakın.
Bağımlılıkları 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-beta01" }
Kotlin
dependencies { implementation("androidx.core:core-splashscreen:1.2.0-beta01") }
Varsayılan Wear OS boyutlarıyla ilgili destek almak için 1.0.1
veya daha yeni bir sürüm kullandığınızdan emin olun.
Tema ekleme
res/values/styles.xml
'te bir açılış ekranı teması oluşturun. Üst öğe, simgenin şekline bağlıdır:
- Simge yuvarlak ise
Theme.SplashScreen
simgesini kullanın. - Simge farklı bir şekle sahipse
Theme.SplashScreen.IconBackground
simgesini kullanın.
Arka planı tek bir siyah renkle doldurmak için windowSplashScreenBackground
özelliğini kullanın. postSplashScreenTheme
değerini, etkinliğin kullanması gereken temaya, windowSplashScreenAnimatedIcon
değerini ise bir ç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 simgesinin altına beyaz arka plan rengi ayarlamanız gerekir. Bu durumda, üst tema olarak Theme.SplashScreen.IconBackground
'ü 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 çekmece oluştur
Açılış ekranı temaları için windowSplashScreenAnimatedIcon
özelliğine bir çizilebilir öğe aktarılması 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
bu dosyayı 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ı simgesi boyutu res/values/dimens.xml
içinde tanımlanır ve simgenin yuvarlak olup olmadığına bağlı olarak farklılık gösterir:
<?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 simgelerde arka plan kullanılmalı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ılanlar) ö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()
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ı hakkında daha fazla bilgi edinin ve bunları uygulamanızda nasıl kullanabileceğinizi öğrenin.
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 işlemlerini Android widget'larıyla entegre etme