Başlangıç ekranı ekle

Uygulamanız özel başlangıç ekranı uyguluyorsa veya başlatıcı teması kullanıyorsa taşıma işlemini uygulamanızı Jetpack'te bulunan SplashScreen kitaplığına ekleyerek tüm Wear OS sürümlerinde doğru şekilde görüntüleniyor.

Nasıl bir ek değer ekleyeceğinizi öğrenmek için bu sayfadaki adım adım uygulama talimatlarına SplashScreen kitaplığını kullanan başlangıç ekranı tasarım yönergelerine göz atı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 olarak destek almak için 1.0.1 veya daha yeni bir sürüm kullandığınızdan emin olun Wear OS boyutları.

Tema ekleme

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 efektini kullanın rengi. postSplashScreenTheme değerlerini, Etkinlik bir çizim veya animasyonlu bir resim için windowSplashScreenAnimatedIcon kullanmalı çekilebilir:

<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 simgenin altından beyaz bir arka plan rengi ayarlamanız gerekir simgeniz. Bu durumda, üst öğe olarak Theme.SplashScreen.IconBackground kullanın temayı 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ği için de kullanılmaktadır. Örneğin, raporu şununla oluşturabilirsiniz: yeni dosya ekleme res/drawable/splash_screen.xml ve uygulama başlatıcı simgesini kullanma ve başlangıç ekranı simge boyutunu doğru şekilde ayarlayın:

<?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 cinsinden tanımlanır ve değişiklik gösterir. bağlı olarak, simgenin yuvarlak olup olmadığına bağlı olarak:

<?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), Bunlar genellikle bir başlatıcı öğesini tanımlayan veya önceki adımda oluşturduğunuz temaya aktarın:

<manifest>
    <application android:theme="@style/Theme.App.Starting">
       <!-- or -->
       <activity android:theme="@style/Theme.App.Starting">
          <!-- ... -->
</manifest>

Başlangıç etkinliğinizi güncelleme

Aramadan önce başlangıç etkinliğine başlangıç ekranınızı yükleyin super.onCreate():

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ı nasıl kullanabileceğiniz hakkında daha fazla bilgi edinin. dokunun.

ziyaret edin.