คีย์เวิร์ด: splashscreen
หากแอปของคุณใช้หน้าจอแนะนำแบบกำหนดเองหรือใช้ธีม Launcher ให้ย้ายข้อมูลแอปไปยังไลบรารี SplashScreen
ที่มีอยู่ใน Jetpack เพื่อให้แอปแสดงอย่างถูกต้องใน Wear OS ทุกเวอร์ชัน
ดูวิธีการติดตั้งใช้งานทีละขั้นตอนในหน้านี้เพื่อดูวิธีเพิ่มหน้าจอแนะนำโดยใช้ไลบรารี SplashScreen
เพื่อให้หน้าจอเป็นไปตามหลักเกณฑ์การออกแบบ
เพิ่มการพึ่งพา
เพิ่มการพึ่งพาต่อไปนี้ลงในไฟล์ build.gradle
ของโมดูลแอป
Groovy
dependencies { implementation "androidx.core:core-splashscreen:1.2.0-alpha02" }
Kotlin
dependencies { implementation("androidx.core:core-splashscreen:1.2.0-alpha02") }
ตรวจสอบว่าคุณใช้เวอร์ชัน 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>
ส่วนแอตทริบิวต์อื่นๆ จะเป็นแอตทริบิวต์ที่ไม่บังคับ
สร้างไฟล์ภาพสำหรับธีม
ธีมหน้าจอแนะนำต้องใช้ Drawable เพื่อส่งผ่านไปยังแอตทริบิวต์ 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>
ระบุธีม
ในไฟล์ Manifest ของแอป (AndroidManifest.xml
) ให้แทนที่ธีมของกิจกรรมเริ่มต้น ซึ่งโดยปกติจะเป็นกิจกรรมที่กําหนดรายการ Launcher หรือส่งออกด้วยธีมที่คุณสร้างในขั้นตอนก่อนหน้า
<manifest>
<application android:theme="@style/Theme.App.Starting">
<!-- or -->
<activity android:theme="@style/Theme.App.Starting">
<!-- ... -->
</manifest>
อัปเดตกิจกรรมเริ่มต้น
ติดตั้งหน้าจอเริ่มต้นในกิจกรรมเริ่มต้นก่อนเรียกใช้ super.onCreate()
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
// Handle the splash screen transition.
installSplashScreen()
super.onCreate(savedInstanceState)
setContent {
WearApp("Wear OS app")
}
}
}
แหล่งข้อมูลเพิ่มเติม
ดูข้อมูลเพิ่มเติมเกี่ยวกับหน้าจอแนะนำโดยทั่วไปและวิธีใช้หน้าจอแนะนำในแอป
แนะนำสำหรับคุณ
- หมายเหตุ: ข้อความลิงก์จะแสดงเมื่อ JavaScript ปิดอยู่
- ย้ายข้อมูลการใช้งานหน้าจอแนะนำไปยัง Android 12 ขึ้นไป
- หน้าจอแนะนำ
- ผสานรวมการดำเนินการของแอปกับวิดเจ็ต Android