[Android Dev] :: AlertDialog and Toast

วันนี้เราจะมารู้จักกับ widget 2 ชนิดกันนะครับ...
จะเรียกมันว่าเป็น Notification Tools ก็ได้นะ...

ซึ่งมีไว้เตือน หรือบอกอะไรสักอย่างกับโปรแกรมเรา...
มาเริ่มกันเลย ^^~

1. AlertDialog
หน้าตาของ AlertDialog
 2. Toast
ลักษณะจะเป็นแถบข้อความ และมีหน่วงเวลาก่อนที่จะหายไป ^^

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 นี้เพียงเท่านี้นะครับ ^^

Popular posts from this blog

[Android Dev] การติดตั้ง Eclipse+AndroidSDK เพื่อพัฒนาโปรแกรมบน Android

12 วิธี การบริการและดูแลลูกค้าในร้าน Starbucks

5 TED Talk ที่จะช่วยให้คุณทำงานดีขึ้น