Başlangıç ekranı ekle

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 başlangıç ekranını tasarım yönergelerine uygun olacak şekilde nasıl 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:

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 daha yeni bir sürüm kullandığınızdan emin olun.

Tema ekle

res/values/styles.xml uygulamasında bir başlangıç ekranı teması oluşturun. Üst öğe, simgenin şekline bağlıdır:

  • Simge yuvarlaksa Theme.SplashScreen işaretini kullanın.
  • Simge farklı bir şekildeyse Theme.SplashScreen.IconBackground biçimini kullanın.

Arka planı tek bir siyah renkle doldurmak için windowSplashScreenBackground özelliğini kullanın. postSplashScreenTheme değerlerini Etkinlik'in kullanması gereken temaya, windowSplashScreenAnimatedIcon değerini ise çekilebilir veya animasyonlu bir çekilebilire 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ırsanız simgenizin altında beyaz bir 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

Başlangıç ekranı temalarının windowSplashScreenAnimatedIcon özelliğine aktarılabilmesi için bir çekilebilir olması 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ı simgesinin boyutu res/values/dimens.xml cinsinden tanımlanır ve simgenin yuvarlak olup olmamasına bağlı olarak değişiklik 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 gibi görünen karakterler için simge 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.