Android 12 (API ระดับ 31) ได้ปรับปรุงวิดเจ็ตวิดเจ็ตที่มีอยู่เดิม 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 เป็นต้นไป Launcher ต่างๆ จะให้การเปลี่ยนที่ราบรื่นยิ่งขึ้น เมื่อผู้ใช้เปิดแอปของคุณจากวิดเจ็ต โปรดดูรายละเอียดที่หัวข้อเปิดใช้การเปลี่ยนที่ราบรื่นยิ่งขึ้น
ใช้คอลเล็กชัน RemoteViews
ที่เรียบง่าย
Android 12 เพิ่ม
setRemoteAdapter(int viewId, RemoteViews.RemoteCollectionItems items)
ซึ่งช่วยให้แอปส่งต่อคอลเล็กชันได้โดยตรงเมื่อป้อนข้อมูล
ListView
ก่อนหน้านี้เมื่อใช้
ListView
คุณจำเป็นต้องใช้และประกาศ
ใช้เวลาส่งคืน RemoteViewsService
RemoteViewsFactory
โปรดดูรายละเอียดที่หัวข้อใช้คอลเล็กชัน RemoteViews
ใช้การแก้ไขรันไทม์ของ RemoteViews
Android 12 เพิ่มเมธอด RemoteViews
มากมายที่อนุญาตให้รันไทม์
การแก้ไขแอตทริบิวต์ RemoteViews
ดูรายการเมธอดทั้งหมดที่เพิ่มแล้วได้ในRemoteViews
เอกสารอ้างอิง API
โปรดดูรายละเอียดที่หัวข้อใช้การแก้ไขรันไทม์ของ
RemoteViews