Android 12 (API ระดับ 31) ปรับปรุง Widgets API ที่มีอยู่เพื่อปรับปรุงประสบการณ์ของผู้ใช้และนักพัฒนาแอปในแพลตฟอร์มและ Launcher ใช้คู่มือนี้เพื่อดูวิธีตรวจสอบว่าวิดเจ็ตของคุณเข้ากันได้กับ Android 12 รวมถึงใช้เป็นข้อมูลอ้างอิงสำหรับ API ในการรีเฟรชวิดเจ็ตที่มีอยู่
ตรวจสอบว่าวิดเจ็ตของคุณเข้ากันได้กับ Android 12
วิดเจ็ตใน Android 12 มีมุมโค้งมน เมื่อใช้วิดเจ็ตแอปในอุปกรณ์ที่ใช้ Android 12 ขึ้นไป ตัวเปิดใช้จะระบุพื้นหลังของวิดเจ็ตโดยอัตโนมัติและครอบตัดให้มีมุมมน
ในสถานการณ์นี้ วิดเจ็ตอาจแสดงอย่างไม่ถูกต้องในเงื่อนไขต่อไปนี้
วิดเจ็ตมีเนื้อหาที่มุม: ซึ่งอาจทำให้ระบบครอบตัดเนื้อหาบางส่วนในบริเวณมุม
วิดเจ็ตใช้พื้นหลังที่ไม่ไวต่อการครอบตัด ซึ่งรวมถึงพื้นหลังโปร่งใส มุมมองหรือเลย์เอาต์ว่างเปล่า หรือพื้นหลังพิเศษประเภทอื่นๆ ที่ไม่เหมาะต่อการครอบตัด ระบบอาจระบุพื้นหลังที่จะใช้ได้อย่างถูกต้อง
หากวิดเจ็ตจะได้รับผลกระทบจากการเปลี่ยนแปลงนี้ เราขอแนะนำให้รีเฟรชวิดเจ็ตโดยให้มุมมน (ตามที่อธิบายไว้ในส่วนต่อไปนี้) เพื่อให้แสดงอย่างถูกต้อง
ใช้ตัวอย่าง
หากต้องการดูการทำงานของ API ทั้งหมดเหล่านี้ โปรดดูวิดเจ็ตรายการตัวอย่าง
ใช้มุมมน
Android 12 เปิดตัวพารามิเตอร์ระบบ system_app_widget_background_radius
และ system_app_widget_inner_radius
เพื่อกำหนดรัศมีของมุมมนของวิดเจ็ต
1 มุมของวิดเจ็ต
2 มุมของมุมมองภายในวิดเจ็ต
โปรดดูรายละเอียดที่หัวข้อใช้มุมมน
เพิ่มธีมอุปกรณ์
ตั้งแต่ Android 12 เป็นต้นไป วิดเจ็ตจะใช้สีธีมของอุปกรณ์สำหรับปุ่ม พื้นหลัง และคอมโพเนนต์อื่นๆ ได้ รวมถึงธีมสว่างและธีมมืด วิธีนี้ช่วยให้วิดเจ็ตต่างๆ เปลี่ยนรูปแบบได้อย่างราบรื่นและมีความสอดคล้องกัน
โปรดดูข้อมูลเพิ่มเติมที่เพิ่มธีมของอุปกรณ์
ปรับแต่งวิดเจ็ตได้ง่ายขึ้น
หากคุณระบุกิจกรรมการกําหนดค่าที่มีแอตทริบิวต์ configure
ของ appwidget-provider
โฮสต์วิดเจ็ตแอปจะเปิดใช้งานกิจกรรมนั้นทันทีหลังจากที่ผู้ใช้เพิ่มวิดเจ็ตลงในหน้าจอหลัก
Android 12 เพิ่มตัวเลือกใหม่ๆ ให้คุณมอบประสบการณ์การกําหนดค่าที่ดีขึ้นแก่ผู้ใช้ โปรดดูรายละเอียดที่หัวข้ออนุญาตให้ผู้ใช้กำหนดค่าวิดเจ็ต
เพิ่มปุ่มคอมโพเนนต์ใหม่
Android 12 เพิ่มการรองรับใหม่สำหรับลักษณะการทำงานที่มีสถานะโดยใช้คอมโพเนนต์ที่มีอยู่ต่อไปนี้
วิดเจ็ตยังคงเป็นแบบไม่มีสถานะ แอปของคุณต้องจัดเก็บสถานะและลงทะเบียนเพื่อรับเหตุการณ์การเปลี่ยนแปลงสถานะ
โปรดดูรายละเอียดที่หัวข้อการรองรับลักษณะการทำงานที่มีสถานะ
ใช้ API ที่ปรับปรุงแล้วสำหรับขนาดและเลย์เอาต์วิดเจ็ต
ตั้งแต่ Android 12 เป็นต้นไป คุณสามารถใช้แอตทริบิวต์ขนาดที่ละเอียดยิ่งขึ้นและเลย์เอาต์ที่ยืดหยุ่นมากขึ้นได้ โดยระบุข้อจำกัดการปรับขนาดวิดเจ็ตเพิ่มเติม รวมถึงระบุเลย์เอาต์ที่ปรับเปลี่ยนได้และเลย์เอาต์ที่แน่นอน
ดูรายละเอียดได้ที่จัดวางวิดเจ็ตอย่างยืดหยุ่น
ปรับปรุงประสบการณ์การใช้งานเครื่องมือเลือกวิดเจ็ตของแอป
Android 12 ช่วยให้คุณปรับปรุงประสบการณ์การใช้งานเครื่องมือเลือกวิดเจ็ตสำหรับแอปได้โดยการเพิ่มตัวอย่างวิดเจ็ตแบบไดนามิกและคําอธิบายวิดเจ็ต ดูรายละเอียดได้ที่เพิ่มตัวอย่างวิดเจ็ตที่ปรับขนาดได้ลงในเครื่องมือเลือกวิดเจ็ตและเพิ่มคำอธิบายสำหรับวิดเจ็ต
ช่วยให้การเปลี่ยนผ่านราบรื่นขึ้น
ตั้งแต่ Android 12 เป็นต้นไป ตัวเปิดแอปจะเปลี่ยนผ่านได้ราบรื่นขึ้นเมื่อผู้ใช้เปิดแอปจากวิดเจ็ต โปรดดูรายละเอียดที่หัวข้อเปิดใช้การเปลี่ยนที่ราบรื่นยิ่งขึ้น
ใช้คอลเล็กชัน RemoteViews
ที่เรียบง่าย
Android 12 เพิ่มวิธี setRemoteAdapter(int viewId, RemoteViews.RemoteCollectionItems items)
ซึ่งช่วยให้แอปส่งคอลเล็กชันได้โดยตรงเมื่อป้อนข้อมูล ListView
ก่อนหน้านี้ เมื่อใช้ ListView
จำเป็นต้องติดตั้งใช้งานและประกาศ RemoteViewsService
เพื่อแสดงผล RemoteViewsFactory
โปรดดูรายละเอียดที่หัวข้อใช้คอลเล็กชัน RemoteViews
ใช้การแก้ไขรันไทม์ของ RemoteViews
Android 12 เพิ่มเมธอด RemoteViews
หลายรายการที่อนุญาตให้แก้ไขแอตทริบิวต์ RemoteViews
ขณะรันไทม์ ดูรายการเมธอดทั้งหมดที่เพิ่มแล้วได้ในRemoteViews
เอกสารอ้างอิง API
โปรดดูรายละเอียดที่หัวข้อใช้การแก้ไขรันไทม์ของ RemoteViews