การปรับปรุงวิดเจ็ต Android 12

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: มุมโค้งมนในวิดเจ็ตและมุมมองภายในวิดเจ็ต

1 มุมของวิดเจ็ต

2 มุมของมุมมองภายในวิดเจ็ต

โปรดดูรายละเอียดที่หัวข้อใช้มุมโค้ง

เพิ่มการจัดธีมอุปกรณ์

ตั้งแต่ Android 12 เป็นต้นไป วิดเจ็ตจะใช้สีของธีมอุปกรณ์ สำหรับปุ่ม พื้นหลัง และคอมโพเนนต์อื่นๆ ได้ ซึ่งรวมถึงธีมสว่างและธีมมืด ซึ่งช่วยให้การเปลี่ยนผ่านราบรื่นขึ้นและวิดเจ็ตต่างๆ มีความสอดคล้องกัน

ดูข้อมูลเพิ่มเติมได้ที่เพิ่มการกำหนดธีมของอุปกรณ์

วิดเจ็ตในธีมโหมดสว่าง
รูปที่ 2: วิดเจ็ตในธีมสว่าง
วิดเจ็ตในธีมโหมดมืด
รูปที่ 3: วิดเจ็ตในธีมมืด

ปรับแต่งวิดเจ็ตได้ง่ายขึ้น

หากคุณระบุกิจกรรมการกำหนดค่าด้วยแอตทริบิวต์ configure ของ appwidget-provider โฮสต์ของ App Widget จะเปิดใช้กิจกรรมนั้นทันทีหลังจากที่ผู้ใช้เพิ่มวิดเจ็ต ลงในหน้าจอหลัก

Android 12 เพิ่มตัวเลือกใหม่ๆ เพื่อให้คุณมอบประสบการณ์การกำหนดค่าที่ดีขึ้นแก่ผู้ใช้ได้ โปรดดูรายละเอียดที่หัวข้อเปิดใช้ให้ผู้ใช้กำหนดค่า วิดเจ็ต

เพิ่มปุ่มผสมใหม่

Android 12 เพิ่มการรองรับใหม่สำหรับลักษณะการทำงานแบบมีสถานะโดยใช้คอมโพเนนต์ที่มีอยู่ต่อไปนี้

วิดเจ็ตยังคงไม่มีสถานะ แอปต้องจัดเก็บสถานะและลงทะเบียนเพื่อรับ เหตุการณ์การเปลี่ยนแปลงสถานะ

รูปที่ 4: วิดเจ็ตตัวอย่างที่มีช่องทำเครื่องหมาย

โปรดดูรายละเอียดที่หัวข้อการรองรับลักษณะการทำงานแบบมีสถานะ

ใช้ 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