| ขอขอบคุณภาพจาก http://developer.android.com |
Contextual Menus
เรียกอีกอย่างว่า เมนูลอย เป็นเมนูที่ซ่อนอยู่ โดยจะปรากฏเมื่อผู้ใช้ Action ตามเงือนไขที่เราเขียนเอาไว้ โดยวันนี้จะมา พาทำกันสักหน่อย ~!
- ทำตามภาพไปเลยครับ New Project ขึ้นมาใหม่
- Application name : demo_Contextual Menu (ชื่อแอพเรา)
- Company Domain : devdroidthailand (ชื่อองค์กรหรือบริษัท อะไรก็ได้ครับ)
- Project Location : ที่อยู่แอพฯ ของเราครับ
![]() |
| ภาพนี้ขอสงวนสิทธิ์สำหรับบล็อค http://pedbindai.blogspot.com |
- เลือกให้แอพฯ ทำงานบน API 14 : android 4.0 แล้ว next..
![]() |
| ภาพนี้ขอสงวนสิทธิ์สำหรับบล็อค http://pedbindai.blogspot.com |
- กำหนด เป็น Blank Activity ครับ จากนั้นกด next..
![]() |
| ภาพนี้ขอสงวนสิทธิ์สำหรับบล็อค http://pedbindai.blogspot.com |
- กำหนด ตามภาพเลยครับ
- Activity Name : MainActivity (ชื่อ ไฟล์หลัก)
- Layout Name : activity_main (ชื่อไฟล์เลย์เอ้าท์)
- Title : MainActivity (ชื่อเรียกไฟล์หลัก String Resource)
- Menu Resource Name : menu_main (ชื่อเมนู)
![]() |
| ภาพนี้ขอสงวนสิทธิ์สำหรับบล็อค http://pedbindai.blogspot.com |
- ก็จะได้หน้าตาแอพฯ เรา แบบนี้ ~~!
![]() |
| ภาพนี้ขอสงวนสิทธิ์สำหรับบล็อค http://pedbindai.blogspot.com |
- ในตัวอย่างนี้จะสร้างแอพ อย่างง่าย ๆ
- จำเป็นต้องใช้รูป 1 รูป ผมตั้งชื่อเป็น img.jpg แล้วเอาไปไว้ใน res/drawable เลยครับ
![]() |
| ภาพนี้ขอสงวนสิทธิ์สำหรับบล็อค http://pedbindai.blogspot.com |
![]() |
| ภาพนี้ขอสงวนสิทธิ์สำหรับบล็อค http://pedbindai.blogspot.com |
- เขียนโค้ดเพิ่ม Widget ImageView, Button เข้าไปครับ ตามภาพเลย..
![]() |
| ภาพนี้ขอสงวนสิทธิ์สำหรับบล็อค http://pedbindai.blogspot.com |
- จากนั้น New Menu Resource ขึ้นมาใหม่ ภายใต้ res/menu/ ครับ
![]() |
| ภาพนี้ขอสงวนสิทธิ์สำหรับบล็อค http://pedbindai.blogspot.com |
- ตั้งชื่อว่า context_menu
![]() |
| ภาพนี้ขอสงวนสิทธิ์สำหรับบล็อค http://pedbindai.blogspot.com |
- สร้างเมนูได้เลย...
![]() |
| ภาพนี้ขอสงวนสิทธิ์สำหรับบล็อค http://pedbindai.blogspot.com |
- กลับมาไฟล์ MainActivity.java กันครับ
- เริ่มประกาศค่าและสั่งงาน Contextual Menu ให้กับ ImageView ของเราครับ
![]() |
| ภาพนี้ขอสงวนสิทธิ์สำหรับบล็อค http://pedbindai.blogspot.com |
- ขั้นตอนต่อมา Override method ชื่อ onCreateContextMenu()
- โดย method onCreateContextMenu() ตัวนี้ อยู่นอก onCreate(); นะครับ สังเกตุดีดี
![]() |
| ภาพนี้ขอสงวนสิทธิ์สำหรับบล็อค http://pedbindai.blogspot.com |
- ขั้นตอนต่อมา ลองรัน.. อ๊ะมาแล้วว ถ้ายังไม่ได้ตามในภาพ ให้ย้อนกลับไปทำใหม่ครับ
- Run on Genymotion Device เป็น Nexus 5 ครับผม
![]() |
| ภาพนี้ขอสงวนสิทธิ์สำหรับบล็อค http://pedbindai.blogspot.com |
- ขั้นตอนต่อมา เขียน Event เมื่อกดปุ่มเมนูใดๆ บน Contextual Menu
- ผมจำลองสร้าง method ง่าย ๆ แยกออกเป็นปุ่มๆไป เพื่อให้ง่ายต่อการนำไปใช้งานครับ
![]() |
| ภาพนี้ขอสงวนสิทธิ์สำหรับบล็อค http://pedbindai.blogspot.com |
- ลองทดสอบรัน..
![]() |
| ภาพนี้ขอสงวนสิทธิ์สำหรับบล็อค http://pedbindai.blogspot.com |
![]() |
| ภาพนี้ขอสงวนสิทธิ์สำหรับบล็อค http://pedbindai.blogspot.com |
"หวังว่าคงมีประโยชน์ไม่มากก็น้อยแหละครับ ที่เหลือลองปรับเปลี่ยนประยุกต์ใช้งานดูเอานะะะ"บทความต่อไป จะพาทำอีกแบบในลักษะที่ชื่อว่า Contextual Action Bar (CAB) คือ ให้เมนูคำสั่งต่าง ๆ จับไปอยู่ใน Action Bar ให้หมดเมื่อมีการ Action Contextual ครับ รอติดตามกัน...

















ไม่มีความคิดเห็น:
แสดงความคิดเห็น