یک صفحه نمایش اسپلش اضافه کنید

اگر برنامه شما از صفحه نمایش اسپلش سفارشی استفاده می کند یا از یک تم راه انداز استفاده می کند، برنامه خود را به کتابخانه SplashScreen که در Jetpack موجود است منتقل کنید تا مطمئن شوید که در تمام نسخه های Wear OS به درستی نمایش داده می شود.

دستورالعمل‌های پیاده‌سازی گام به گام را در این صفحه ببینید تا یاد بگیرید چگونه با استفاده از کتابخانه SplashScreen یک صفحه نمایش اسپلش اضافه کنید تا صفحه با دستورالعمل‌های طراحی مطابقت داشته باشد.

وابستگی ها را اضافه کنید

وابستگی زیر را به فایل build.gradle ماژول برنامه خود اضافه کنید:

شیار

dependencies {
    implementation "androidx.core:core-splashscreen:1.2.0-alpha01"
}

کاتلین

dependencies {
    implementation("androidx.core:core-splashscreen:1.2.0-alpha01")
}

مطمئن شوید که از نسخه 1.0.1 یا بالاتر استفاده می‌کنید تا از ابعاد پیش‌فرض Wear OS پشتیبانی کنید.

یک موضوع اضافه کنید

یک تم صفحه نمایش در res/values/styles.xml ایجاد کنید. عنصر والد به شکل نماد بستگی دارد:

  • اگر نماد گرد است، از Theme.SplashScreen استفاده کنید.
  • اگر شکل نماد متفاوت است، از Theme.SplashScreen.IconBackground استفاده کنید.

از windowSplashScreenBackground برای پر کردن پس‌زمینه با یک رنگ سیاه استفاده کنید. مقادیر postSplashScreenTheme را روی مضمونی که Activity باید استفاده کند و windowSplashScreenAnimatedIcon را روی یک ترسیم پذیر یا متحرک تنظیم کنید:

<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>

اگر از یک نماد غیر گرد استفاده می کنید، باید رنگ پس زمینه سفید را زیر نماد خود تنظیم کنید. در این مورد، از Theme.SplashScreen.IconBackground به عنوان تم اصلی استفاده کنید و ویژگی windowSplashScreenIconBackgroundColor را تنظیم کنید:

<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>

سایر صفات اختیاری هستند.

یک ترسیم برای موضوع ایجاد کنید

تم های Splash Screen برای ارسال به ویژگی windowSplashScreenAnimatedIcon به یک قابل ترسیم نیاز دارند. برای مثال، می‌توانید آن را با افزودن یک فایل جدید res/drawable/splash_screen.xml و استفاده از نماد راه‌انداز برنامه و اندازه نماد صحیح صفحه نمایش اسپلش ایجاد کنید:

<?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>

اندازه نماد صفحه نمایش اسپلش در res/values/dimens.xml تعریف شده است و بسته به گرد بودن نماد متفاوت است:

<?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>

... یا غیر گرد و بنابراین باید از پس زمینه نماد استفاده کنید:

<?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>

موضوع را مشخص کنید

در فایل مانیفست برنامه‌تان ( AndroidManifest.xml )، موضوع فعالیت شروع - معمولاً آنهایی که یک مورد راه‌انداز را تعریف می‌کنند یا به شکل دیگری صادر می‌شوند - را با طرح زمینه‌ای که در مرحله قبل ایجاد کردید جایگزین کنید:

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

فعالیت شروع خود را به روز کنید

قبل از فراخوانی super.onCreate() Splash Screen خود را در شروع فعالیت نصب کنید:

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        // Handle the splash screen transition.
        installSplashScreen()

        super.onCreate(savedInstanceState)
        setContent {
            WearApp("Wear OS app")
        }
    }
}

منابع اضافی

به طور کلی درباره صفحه نمایش های آب پاش و نحوه استفاده از آنها در برنامه خود بیشتر بیاموزید .

{% کلمه به کلمه %} {% آخر کلمه %} {% کلمه به کلمه %} {% آخر کلمه %}