20.11.2016 Views

ANDROID APP

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

การสร้างและการตรวจจับอีเวนต์<br />

121<br />

}<br />

}<br />

}<br />

return super.onKeyUp(keyCode, event);<br />

กรรมวิธี: การสร้างเมนู<br />

ในระบบปฏิบัติการแอนดรอยด์ เราสามารถสร้างเมนูได้ 3 แบบ ดังนี้<br />

m เมนูแบบ Options – เป็นเมนูหลักของแอพ ซึ่งจะแสดงเมื่อกดปุ่ม MENU เมนูที่แสดง<br />

นั้นจะประกอบไปด้วยไอคอน และเมื่อกดที่เมนู More เมนูอื่นๆ นอกเหนือจากนั้นก็จะ<br />

แสดงขึ้นมา<br />

m เมนูแบบ Context – เป็นรายการของเมนูที่จะแสดงแบบลอยซ้อนขึ้นมา (Floating)<br />

เมื่อมีการสัมผัสค้างที่จอภาพ<br />

m เมนูแบบ Submenu -- เป็นรายการของเมนูย่อยที่จะแสดงแบบลอยซ้อนขึ้นมา<br />

(Floating) เมื่อมีการเลือกที่เมนูแบบ Context<br />

เมนูแบบ Options จะสร้างขึ้นในขณะที่เรากดปุ่ม MENU ตอนที่แอพกำลังทำงาน ซึ่งการกด<br />

ปุ่มนี้จะเกิดการเรียกใช้เมธอด onCreateOptionsMenu() โดยภายในเมธอดนี้จะมีคำสั่งที่ทำงาน<br />

เกี่ยวกับเมนูแบบนี้<br />

menu.add(GROUP_DEFAULT, MENU_ADD, 0, “Add”)<br />

.setIcon(R.drawable.icon);<br />

ค่าตัวแรกที่จะต้องกำหนดให้แก่เมธอด add() ก็คือกลุ่มของรายการเมนู ค่าตัวที่ 2 ก็คือเลข<br />

ID ของรายการเมนูที่จะสร้าง ซึ่งค่านี้จะใช้อ้างอิงเมื่อเลือกรายการเมนูใดๆ ส่วนค่าตัวที่ 3 จะเป็นค่า<br />

ของลำดับการเรียงของรายการเมนู ถ้าค่านี้ไม่มีการกำหนดไว้ ระบก็จะใช้ลำดับตามรายการที่เพิ่มใน<br />

คำสั่ง และค่าตัวสุดท้ายคือข้อความที่จะใช้แสดงในรายการเมนู ซึ่งค่านี้อาจเป็นข้อความโดยตรงหรือ<br />

เป็นข้อความที่มาจากไฟล์รีซอร์สก็ได้ และเมนูแบบ Options จะเป็นเมนูเพียงชนิดเดียวที่เราสามารถ<br />

เพิ่มไอคอนลงไปในรายการเมนูได้ด้วยการใช้เมธอด setIcon()<br />

คำสั่งการสร้างเมนูนี้จะทำงานในตอนครั้งแรกที่แอพถูกเรียกใช้ และมีการกดปุ่ม MENU เพื่อ<br />

แสดงรายการเมนู ซึ่งหลังจากนั้นเราไม่จำเป็นต้องใช้คำสั่งสร้างเมนูเหล่านี้อีก เนื่องจากรายการเมนูที่<br />

เราสร้างไว้จะยังคงอยู่ตลอดระยะเวลาที่แอพกำลังทำงาน แต่เรายังคงสามารถใช้คำสั่ง onPrepare-<br />

OptionsMenu() เพื่อแก้ไขรายการเมนูในภายหลังระหว่างที่แอพกำลังทำงานได้เช่นกัน<br />

เมื่อมีการเลือกในรายการเมนูแบบ Options ก็จะมีการเรียกใช้เมธอด onOptionsItemSelected()<br />

ซึ่งเมธอดนี้จะส่งค่าเลข ID ของเมนูที่ถูกเลือก และนำเลข ID ไปทำงานต่อร่วมกับคำสั่ง<br />

เงื่อนไขเพื่อตรวจสอบว่าเลือกรายการใด<br />

สำหรับในส่วนนี้ เราจะเพิ่มรายการเมนูอันได้แก่ เพิ่มเอกสาร, ลบเอกสาร และส่งเอกสาร<br />

ซึ่งเราจะใช้รายการเมนูเหล่านี้มายกตัวอย่างให้เห็นการเพิ่มค่าและลดค่าตัวเลขใดๆ ด้วยการเลือกเมนู<br />

และนำค่าตัวเลขในขณะนั้นมาแสดงบนจอภาพเพื่อให้เห็นสถานะของการเลือกเมนูต่างๆ

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!