Android 12 (API ระดับ 31) ปรับปรุง API วิดเจ็ต ที่มีอยู่เพื่อปรับปรุงประสบการณ์ของผู้ใช้และนักพัฒนาแอป ในแพลตฟอร์มและตัวเรียกใช้ ใช้คู่มือนี้เพื่อดูวิธีตรวจสอบว่าวิดเจ็ตของคุณใช้ได้กับ 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
โฮสต์ของ App Widget จะเปิดใช้กิจกรรมนั้นทันทีหลังจากที่ผู้ใช้เพิ่มวิดเจ็ต
ลงในหน้าจอหลัก
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