ส่วนย่อย

Fragment แสดงถึงส่วน UI ของแอปที่นํากลับมาใช้ซ้ำได้ ข้อมูลโค้ดจะกําหนดและจัดการเลย์เอาต์ของตนเอง มีวงจรการทํางานของตนเอง และจัดการเหตุการณ์อินพุตของตนเองได้ ข้อมูลโค้ดเศษไม่สามารถทำงานได้ด้วยตัวเอง โดยต้องโฮสต์โดยกิจกรรมหรืออีกฟragment ลําดับชั้นมุมมองของข้อมูลโค้ดจะกลายเป็นส่วนหนึ่งของหรือแนบกับลําดับชั้นมุมมองของโฮสต์

ความเป็นโมดูล

ฟragment จะนำรูปแบบโมดูลและความสามารถในการนํากลับมาใช้ใหม่มาสู่ UI ของกิจกรรม โดยให้คุณแบ่ง UI ออกเป็นส่วนๆ กิจกรรมเป็นตําแหน่งที่เหมาะสมในการวางองค์ประกอบส่วนกลางรอบๆ อินเทอร์เฟซผู้ใช้ของแอป เช่น ลิ้นชักการนําทาง ในทางกลับกัน ข้อมูลโค้ดที่ตัดตอนมาเหมาะที่จะกำหนดและจัดการ UI ของหน้าจอเดียวหรือบางส่วนของหน้าจอมากกว่า

ลองใช้แอปที่ปรับให้เข้ากับหน้าจอขนาดต่างๆ ในหน้าจอขนาดใหญ่ คุณอาจต้องการให้แอปแสดงลิ้นชักการนำทางแบบคงที่และรายการในเลย์เอาต์ตารางกริด ในหน้าจอขนาดเล็ก คุณอาจต้องการให้แอปแสดงแถบนําทางด้านล่างและรายการในเลย์เอาต์แนวนอน

การจัดการรูปแบบต่างๆ ของกิจกรรมเหล่านี้นั้นยุ่งยาก การแยกองค์ประกอบการนําทางออกจากเนื้อหาจะช่วยให้จัดการกระบวนการนี้ได้ดีขึ้น จากนั้นกิจกรรมจะมีหน้าที่แสดง UI การนําทางที่ถูกต้อง ส่วนข้อมูลโค้ดที่แยกส่วนจะแสดงรายการที่มีเลย์เอาต์ที่เหมาะสม

หน้าจอเดียวกัน 2 เวอร์ชันในหน้าจอขนาดต่างๆ
รูปที่ 1 หน้าจอเดียวกัน 2 เวอร์ชันในหน้าจอขนาดต่างๆ ทางด้านซ้าย หน้าจอขนาดใหญ่จะมีลิ้นชักการนำทางที่ควบคุมโดยกิจกรรมและรายการตารางกริดที่ควบคุมโดยข้อมูลโค้ด ทางด้านขวา หน้าจอขนาดเล็กจะมีแถบนําทางด้านล่างที่ควบคุมโดยกิจกรรมและรายการเชิงเส้นที่ควบคุมโดยข้อมูลโค้ด

การแบ่ง UI ออกเป็นส่วนๆ จะช่วยให้คุณแก้ไขลักษณะที่ปรากฏของกิจกรรมขณะรันไทม์ได้ง่ายขึ้น ขณะกิจกรรมอยู่ในSTARTED สถานะวงจรหรือสูงกว่า คุณจะเพิ่ม แทนที่ หรือนําข้อมูลโค้ดออกจากข้อมูลโค้ดได้ และคุณสามารถบันทึกการเปลี่ยนแปลงเหล่านี้ไว้ในกองซ้อนที่ย้อนกลับซึ่งจัดการโดยกิจกรรมเพื่อให้ย้อนกลับการเปลี่ยนแปลงได้

คุณสามารถใช้อินสแตนซ์หลายรายการของคลาสแฟรกเมนต์เดียวกันภายในกิจกรรมเดียวกัน ในหลายกิจกรรม หรือแม้แต่เป็นรายการย่อยของแฟรกเมนต์อื่น ด้วยเหตุนี้ ให้ระบุเฉพาะข้อมูลโค้ดที่มีตรรกะที่จำเป็นในการจัดการ UI ของตัวเอง หลีกเลี่ยงการพึ่งพาหรือดัดแปลงข้อมูลโค้ดจากอีกข้อมูลหนึ่ง

ขั้นตอนถัดไป

ดูเอกสารประกอบและแหล่งข้อมูลเพิ่มเติมเกี่ยวกับข้อมูลโค้ดได้ที่หัวข้อต่อไปนี้

เริ่มต้นใช้งาน

หัวข้อเพิ่มเติม

ตัวอย่าง

วิดีโอ