![]()
ระดับที่ 3 - พร้อมปรับเปลี่ยน
การกำหนดค่าคือการรวมสถานะของอุปกรณ์และสถานะของระบบ สถานะอุปกรณ์ ประกอบด้วยการวางแนวหน้าจอ ขนาดการแสดงผล สถานะพับหรือกางของ อุปกรณ์แบบพับได้ ความพร้อมใช้งานของแป้นพิมพ์ภายนอก จอแสดงผลที่เชื่อมต่อ สถานะของระบบ รวมถึงโหมดการแสดงผล เช่น หลายหน้าต่างและหลายจอแสดงผล และการตั้งค่าที่ผู้ใช้กำหนด เช่น ขนาดแบบอักษรและภาษา
การเปลี่ยนแปลงการกำหนดค่าคือการเปลี่ยนแปลงสถานะของอุปกรณ์หรือระบบ เช่น อุปกรณ์หมุน หน้าต่างแอปที่ปรับขนาดแล้ว อุปกรณ์ที่กางออก อุปกรณ์ต่อพ่วงที่เชื่อมต่อ หรือการตั้งค่าผู้ใช้ที่อัปเดตแล้ว
อุปกรณ์หน้าจอขนาดใหญ่จะได้รับการเปลี่ยนแปลงการกำหนดค่าทั้งหมดเช่นเดียวกับโทรศัพท์หน้าจอขนาดเล็ก แต่หน้าจอขนาดใหญ่ยังมีการเปลี่ยนแปลงการกำหนดค่าที่ไม่เหมือนใครด้วย เช่น
- การพับและกางอุปกรณ์
- การปรับขนาดหน้าต่างแบบอิสระประเภทเดสก์ท็อปในโหมดหลายหน้าต่าง
การสร้างกิจกรรมใหม่
Android จัดการการเปลี่ยนแปลงการกำหนดค่าสำหรับแอปโดยการทำลายและสร้าง กิจกรรมที่กำลังทำงานใหม่เมื่อเกิดการเปลี่ยนแปลงการกำหนดค่า Android จะสร้างกิจกรรมขึ้นมาใหม่ พร้อมการตั้งค่าและทรัพยากรที่รองรับการกำหนดค่าใหม่
ออกแบบแอปด้วยเลย์เอาต์ที่ปรับเปลี่ยนตามอุปกรณ์/เลย์เอาต์ที่ปรับเปลี่ยนได้ซึ่งรองรับขนาดหน้าจอและหน้าต่างแอป รวมถึงสัดส่วนภาพที่หลากหลาย และการจัดการการกำหนดค่าของเฟรมเวิร์ก Android จะช่วยให้แอปแสดงผลได้ดีที่สุดในหน้าจอขนาดใหญ่และเล็ก
การจัดการการกำหนดค่าด้วยตนเอง
ในกรณีพิเศษ เช่น การเพิ่มประสิทธิภาพเฉพาะแอป ให้เปิดใช้แอปเพื่อจัดการการเปลี่ยนแปลงการกำหนดค่าแทนที่จะปล่อยให้ Android ทำลายและสร้างกิจกรรมของแอปขึ้นมาใหม่
ระบุการเปลี่ยนแปลงการกำหนดค่าที่แอปจัดการโดยการตั้งค่าแอตทริบิวต์
android:configChanges ขององค์ประกอบ <activity> ในไฟล์ Manifest ของแอป
เช่น เปิดใช้แอปเพื่อจัดการการเปลี่ยนแปลงการกำหนดค่าหลายหน้าต่าง
<activity
android:name=".MyActivity"
android:configChanges="orientation|screenSize|smallestScreenSize|screenLayout" />
การจัดการสถานะ
ไม่ว่า Android จะจัดการการเปลี่ยนแปลงการกำหนดค่าให้คุณหรือคุณจะจัดการด้วยตนเอง แอปของคุณต้องรักษาบริบทและสถานะไว้ หลังจากเปลี่ยนการกำหนดค่าแล้ว ผู้ใช้ ควรโต้ตอบกับแอปต่อได้โดยไม่หยุดชะงัก และไม่สูญเสียข้อมูล เช่น เมื่อมีการเปลี่ยนการกำหนดค่า ในระหว่างการเล่นสื่อหรือการป้อนข้อมูล
ขั้นตอนถัดไป
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีจัดการการเปลี่ยนแปลงการกำหนดค่าและรักษาความต่อเนื่องของแอป ได้ในคู่มือนักพัฒนาซอฟต์แวร์ต่อไปนี้