| การทำ layout - land คืออะไร ? |
|
โจทย์ เป็นอย่างนี้นะครับ เป็นปัญหาเกี่ยวกับการออก แบบ User Interfact เนื่องด้วย อุปกรณ์แอนดรอยด์ สามารถแสดงผลได้ทั้ง
ในการออกแบบ User Interface ที่ดี น่าจะออกแบบเพื่อรองรับ Potrait และ Landscape แล้วเราจะทำอย่างไร มาดู Case Study กัน ผมออกแบบ User Interfact เพื่อรองรับการแสดงผลแบบ Portrait ได้แบบนี้
ดูดีในตอนเป็น Portait แต่ถ้าผมหนุนจอละ (Ctrl + F11)
อ้าง ส่วนของด้านล่างหายไปไหนหมด ถูกบังหมด จะดีกว่าไหม ถ้าเราออกแบบ User Interfact ในฝัง Landscape เอาไว้ก่อน เมื่อ มีการหมุนจอ จากการแสดงผลแบบ Portrait ไปเป็น Landscape ไปเป็นแบบนี้ ถ้าจะดี
เปิด Project Android ใหม่ออกมาเลยครับผมสร้าง Project Android ชื่อว่า LearnLayoutLand ให้รันบน android 2.2 ตัว eclipse จะ gen ไฟร์ และ โฟวเดอร์ ต่างๆให้ดังนี้
ที่ main.xml ที่อยู่ใน โฟวเดอร์ layout เป็นส่วนของการแสดงผล ในส่วนของ Portrait ถ้าเราต้องการออกแบบเฉพาะการแสดงผลในส่วนของ Landscape เราต้องสร้าง โฟวเดอร์ layout-land โดยมีไฟร์ที่ชื่อว่า main.xml ควบคุม
สร้างโฟวเดอร์ layout-land
สร้าง โฟวเดอร์ layout-land ต่อจาก โฟวเดอร์ res นะครับ
เสร็จแล้วไป copy main.xml จากโฟวเดอร์ layout ไป Paste ก็ได้ครับ
เราจะได้โครงสร้างของ ไฟร์ และ โฟวเดอร์ แบบนี้
เอาละครับ ดังนั้นที่ main.xml ที่อยู่ในโฟวเดอร์ layout เราก็ออกแบบให้แสดงผลในส่วน Portrail ตามปกติแบบนี้
แต่การออกแบบ user interfact ที่ ไฟร์ main.xml ที่โฟวเดอร์ layout-land ต้องออกแบบเป็นแบบนี้นะครับ
ครับทีนี้เวลาโปรแกรมแอนดรอยด์ ทำงาน ถ้าอยู่ใน Mode การแสดงผลแบบ Portrait ต้วแอนดรอยด์จะเลือก main.xml ที่อยุ่ในโฟวเดอร์ layout มาแสดง แต่ถ้าอยู่ใน Mode การแสดงผลแบบ Landscape ตัวแอนดรอยด์ จะเลือกไฟร main.xml ที่อยู่ใน layout-land มาแสดงผลแทนครับ
|