[Android Dev] :: AlertDialog and Toast
วันนี้เราจะมารู้จักกับ widget 2 ชนิดกันนะครับ...
จะเรียกมันว่าเป็น Notification Tools ก็ได้นะ...
ซึ่งมีไว้เตือน หรือบอกอะไรสักอย่างกับโปรแกรมเรา...
มาเริ่มกันเลย ^^~
1. AlertDialog
2. Toast
ลักษณะจะเป็นแถบข้อความ และมีหน่วงเวลาก่อนที่จะหายไป ^^
Widget ทั้ง 2 ตัวนี้นะ
ส่วนใหญ่ก็ใช้กับปุ่ม หรือ Event ต่าง ๆ เช่นที่บาสจะยกตัวอย่างคือการกดปุ่ม ^^
Part of Interface
จะเรียกมันว่าเป็น Notification Tools ก็ได้นะ...
ซึ่งมีไว้เตือน หรือบอกอะไรสักอย่างกับโปรแกรมเรา...
มาเริ่มกันเลย ^^~
1. AlertDialog
![]() |
หน้าตาของ AlertDialog |
ลักษณะจะเป็นแถบข้อความ และมีหน่วงเวลาก่อนที่จะหายไป ^^
Widget ทั้ง 2 ตัวนี้นะ
ส่วนใหญ่ก็ใช้กับปุ่ม หรือ Event ต่าง ๆ เช่นที่บาสจะยกตัวอย่างคือการกดปุ่ม ^^
Part of Interface
XML ไม่มีอะไรมากนะครับ... มีแค่ RelativeLayout กับ Button 2 อันวางอยู่...
ลักษณะก็น่าจะอ่านเป็นหมดแล้ว... อะฮิๆ
อธิบายนิดหน่อยก็ได้ ><
- id = ชื่อตัวแปร
- layout_width และ layout_height = ความกว้างและความสูง
- text = ข้อความ
- gravity = ลักษณะ content ภายในปุ่ม เช่น ข้อความบนปุ่ม ในที่นี้จัดให้อยู่กลาง
- layout_below = ปุ่มนี้อยู่ด้านล่างของ ....
- layout_marginxx = กินขอบทางด้าน xx มา xx pixel
- layout_centerxx = อยู่ตรงกลาง :: xx=[horizontal = แนวนอน],[vertical = แนวตั้ง],[inParent = สองแนว]
![]() |
ก็จะได้หน้าตาประมาณนี้ ^^ |
Part of Java Coding
ขั้นแรกก็เช่นเคย Import สิ่งที่ต้องใช้มาให้ครบ ^^
จากนั้นก็ประกาศตัวแปร ในที่นี้บาสมีปุ่ม 2 ปุ่ม
และก็ Link กับ Interface ให้เรียบร้อย
แล้วก็ setListener ของการคลิกปุ่มด้วย
จากนั้นก็สร้าง Inner Class ของการกดปุ่มขึ้นมา...
![]() |
จังหวะนี้กด Enter เลยนะ... เดี๋ยวมัน Auto Conplete ให้เอง |
จะได้ Inner Class แบบนี้นะ..
ซึ่งจะมีการ Override ฟังก์ชั่น onClick ไว้ให้นะครับ ^^
แล้วมี argument "v" ไว้ให้เราใช้ด้วย
v ในที่นี้คือ.. เรากดปุ่มไหน (ในกรณีที่มีหลายปุ่ม เช่นโปรแกรมนี้มี 2 ปุ่ม)
ก็ใช้คำสั่ง if เช็คตามปกติครับ...
AlertDialog
ดูที่อันแรกก่อนนะครับ ^^
![]() |
ถ้าเรากดปุ่ม Show Dialog นะครับ |
- Line37 :: เรียกใช้ AlertDialog.Builder เพื่อสร้าง Dialog ขึ้นมาโดยใส่ context ไปด้วย...
- Line38 :: กำหนดค่า Title ของ Dialog
- Line39 :: กำหนดค่าของข้อความที่จะแสดงภายใน Dialog
- Line40 :: กำหนดค่าปุ่มที่บน Dialog ในที่นี้คือ แบบปุ่มเดียว ข้อความบนปุ่มคือ ok
เมื่อสร้างแล้วจะได้ ฟังก์ชั่นเพิ่มขึ้นมาอีกคือ เมื่อเรากดปุ่มแล้วจะให้เกิดอะไรขึ้น
ในที่นี้ก็ไม่ต้องทำอะไร กดปุ่ม Dialog ก็หายไป ^^
- Line48 :: ให้ Dialog แสดงออกมา... (ห้ามลืมนะ)
Positive and Negative Button on AlertDialog
เมื่อสักครู่เราได้ดูแบบปุ่มเดียวกัน... ถ้าเราต้องการ 2 ปุ่มล่ะ
เช่นในกรณีที่เราต้องการให้ 2 ทางเลือกกับผู้ใช้
ก็แค่จากที่เราต้องเซ็ต NeutralButton
เปลี่ยนไปเซ็ต 2 ปุ่มคือ PositiveButton และ NegativeButton
ส่วนจะให้ทำอะไรนั้น ก็เขียนมันลงไปที่ Listener Method ได้เลย...
Toast
มาในส่วนของ Toast กันบ้างง..
ง่ายกว่าเยอะ
ก็แค่สั่งให้ Toast สร้างขึ้นมาโดยใช้คำสั่ง makeText (ใช้ Toast นะครับ ไม่ใช่ชื่อตัวแปรปุ่มของเรา...)
โดย method นี้จะรับ argument 3 ตัวคือ Toast.makeText(context , message , duration)
โดยส่วนของ Duration นั้นเราสามารถเลือกได้ 2 แบบคือ
คือแบบนาน กับ แบบไม่นาน (ไม่ได้ลองจับเวลาดูว่า กี่วินาทีเหมือนกัน ฮ่าฮ่า)
Result
![]() |
หน้าจอเริ่มต้น |
![]() |
เมื่อกดปุ่ม Show Dialog |
![]() |
เมื่อกดปุ่ม Show Toast |
ขอจบ Blog นี้เพียงเท่านี้นะครับ ^^
Comments
Post a Comment