ข้ามไปที่เนื้อหาหลัก

การสร้าง DialogFragment ใน Android Studio

การสร้าง Dialog เพื่อแสดงข้อความแจ้งเตือน หรือให้ข่าวสารแก่ผู้ใช้งานมือถือ Android โดยใช้  Android Studio ทำได้หลายอย่าง แต่วันนี้ จะพูดถึงการใช้ Fragment สำหรับสร้าง Dialog ซึ่งมีข้อดี คือ สามารถจัดการรูปแบบได้เองสะดวกดี เพราะใช้ Layout ที่สร้างเอง จึงนำเอาภาพ ข้อความมาจัดเรียงได้ ในตัวอย่างนี้ จะสร้าง DialogFragment โดยให้คลิกจากเมนูใน OverFlow Menu แล้วมาที่ Dialog ที่สร้างขึ้น โดยใช้ Android Studio 1.5.1

ภาพหน้าจอ DialogFragment ที่จะสร้าง ในครั้งนี้

ขั้นตอนการสร้าง

  1. สร้าง Project ใหม่
  2. สร้าง Layout ที่ต้องการให้แสดงเป็น Dialog
  3. สร้าง Java Class สำหรับ DialogFragment
  4. เรียกใช้งาน ที่ OverFlow menu
สร้าง Project ใหม่
  1. สร้าง Project ใหม่ ตั้งชื่อตามต้องการ
  2. กำหนด API 11 และ Blank Activity
สร้าง Layout สำหรับให้แสดงเป็น Dialog
  1. นำภาพไปใส่ไว้ในห้อง Drawable โดยใช้วิธี Copy แล้ว Paste ใน Android Studio
  2. สร้าง Layout โดยคลิกขวาที่ layout เลือก New > Layout Resource File
  3. ตั้งชื่อว่า df_demo  
  4. นำ ImageView  TextView และปุ่ม พร้อมทั้งนำภาพและข้อความมาวางบน Layout ดังภาพ
    • TextView ให้กำหนด LayoutWidth เป็น match parent และ กำหนด padding ตามต้องการ  ในตัวอย่างใช้ TextView จำนวน 3 TextView
    • สำหรับปุ่ม ให้กำหนด Border ห่างจาก TextView ประมาณ 60dp เพื่อให้เห็นเด่นชัด
    • เขียนข้อความบนปุ่มว่า OK
    • ตั้งชื่อ id ของปุ่มนี้ว่า btnOk สำหรับให้ปิดหน้าจอ dialog 
    • ถ้าข้อความยาวเกินหน้าจอ ให้นำ ScrollView มาครอบเพื่อให้สามารถ Scroll ได้
การสร้าง Java Class สำหรับ DialogFragment 
  1. สร้าง Java Class เพื่อให้เป็น Object ของ DialogFragment ที่จะใช้ Layout ที่สร้างขึ้น เพื่อบอก FragmentManager ว่า เราต้องการ layout นี้มาแสดง
  2. คลิกขวาในห้อง Java ที่เก็บไฟล์หลักของ Project และเลือก New > Java Class
  3. ตั้งชื่อว่า MyDialogFragmentDemo 
  4. ใน Class นี้ จะต้อง extends DialogFragment และ ใช้ layout สำหรับการรับ การคลิก โดย implements OnClickListener
  5. เรียกใช้ onCreateView เพื่อสร้างหน้าจอ
  6. ในการสร้างหน้าจอ มีการกำหนดตัวแปรของปุ่ม มีการ inflate โดยเรียกใช้ layout ที่สร้างไว้แล้ว มีการกำหนดชื่อ Dialog พร้อมทั้งรอรับการคลิกจากปุ่ม ถ้ามีการคลิก ให้ปิดหน้าจอ การ Import โปรแกรม Android Studio จะถามให้กด Alt+Enter เพือ import ในส่วนที่ต้องการ
  7. สำหรับชื่อของ Dialog สำหรับ API ที่ตำ่กว่า API 23 จะไม่มีปัญหา แต่ถ้าเป็น API 23 ต้องไปกำหนด Style ในไฟล์ style.xm ให้มี Style ที่กำหนดให้มีชื่อ และนำมาใช้กับ Dialog เมื่อมีการเรียกใช้
  8. กำหนด Style ในไฟล์ Style.xml ดังนี้
การเรียกใช้งาน ที่ OverFlow menu
  1. กำหนด item ของ Overflow menu ในไฟล์ menu.xml โดยมี id คือ action_pro และ ชื่อที่จะปรากฏ คือ รุ่น Pro
  2. เมื่อเปิดหน้าจอจะเห็นมี OverFlow menu เป็นจุด 3 จุด
  3. เมื่อคลิกที่ OverFlow menu จะเห็นมีเมนู รุ่น Pro ปรากฎ
  4. ใน Activity ที่มี Overflow menu ให้เรียกใช้งาน เมื่อเมนูถูกคลิก ใน onOptionsItemSelected method
  5. ในการเรียกใช้งาน ต้องเรียกผ่าน FragmentManager พร้อมทั้งกำหนด Style ให้ใช้ style ที่กำหนดไว้ในไฟล์ style.xml สำหรับ dialog นี้ เพื่อให้แสดงหัวเรื่องด้านบน
  6. เป็นอันเสร็จการสร้าง DialogFragment
  7. เมื่อใช้งาน โดยคลิกที่เมนู รุ่น Pro ใน OverFlow menu จะแสดง Dialog ดังภาพข้างต้น
ดาวน์โหลดไฟล์ เพื่อศึกษา คลิกที่นี่

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

อุปมา อุปไมย สำนวนการเปรียบเทียบ ของไทย

การเตรียมสอบ ก.พ. ภาค ก. เพื่อสอบบรรจุเข้ารับราชการ มีการทดสอบความสามารถทั่วไป มักจะมี
ข้อสอบที่เกี่ยวกับอุปมาอุปไมย  ข้อสอบมีลักษณะ ให้หาตัวเลือกที่มีความหมาย ความสัมพันธ์คล้ายคลึง หรือเหมือนกับที่โจทย์กำหนดให้มา  หรือเติมข้อความที่มีความหมายสอดคล้องกับคำอุปมาอุปไมยที่ยกมาให้ เป็นต้น ดังนั้น การเข้าใจความหมายของคำอุปมาอุปไมย จึงช่วยให้ทำข้อสอบได้ดียิ่งขึ้น

คำอุปมาอุปไมย หมายถึง ถ้อยคำที่เป็นสำนวนพวกหนึ่ง กล่าวทำนองเปรียบเทียบ ให้เห็นจริง เข้าใจแจ่มแจ้งชัดเจน และสละสลวยน่าฟังมากขึ้น การพูดหรือการเขียน นิยมหาคำอุปมาอุปไมยมาเติมให้ได้ความชัดเจนเกิดภาพพจน์ เข้าใจง่าย เช่น

คนดุ หากต้องการให้ความหมายชัดเจน น่าฟัง และเกิดภาพพจน์ชัดเจนก็ต้องอุปมาอุปไมยว่า “ดุ เหมือน เสือ”
ขรุขระมาก การสื่อความยังไม่ชัดเจนไม่เห็นภาพ ต้องอุปมาอุปไมยว่า “ขรุขระเหมือนผิวมะกรูด” หรือ “ขรุขระเหมือนผิวพระจันทร์” ก็จะทำให้เข้าใจ ความหมายในรูปธรรมชัดเจนมากยิ่งขึ้น

คำอุปมาอุปไมยที่ควรรู้จัก (พิมพ์คำ/ข้อความ แล้วกดปุ่ม "ค้นหา")

แนวข้อสอบ เงื่อนไขสัญลักษณ์

ครั้งที่แล้ว ได้แนะนำหลักการทำ ข้อสอบ ก.พ. ภาค ก. ความสามารถทั่วไป เงื่อนไขสัญลักษณ์ มา แล้ว ถ้าใครยังไม่ได้อ่าน ก็คลิกกลับไปอ่านได้
ความจริง ข้อสอบเงื่อนไขสัญลักษณ์ เป็นข้อสอบไม่ยาก ถ้าเข้าใจหลักการ และมีทักษะความชำนาญ ใจเย็น ๆ อย่าตื่นเต้น โดยเฉพาะการดูเครื่องหมายต่าง ๆ อย่าดูผิด เช่น เครื่องหมายมากกว่า (>) น้อยกว่า (<) เป็นต้น เพราะการแก้ปัญหาโจทย์เงื่อนไขสัญลักษณ์ หรือ inequality ก็คล้ายกับการแก้ปัญหาสมการโดยทั่วไป นั่นเอง คือ สามารถบวก ลบ คูณ หาร ด้วยจำนวนที่เท่ากัน ทั้งสองข้างของเครื่องหมายได้ กลับเศษเป็นส่วนได้ แต่ก็มีบางเรื่อง บางรายละเอียดที่แตกต่างกันบ้าง ซึ่งอ่านได้จาก ข้อสอบ ก.พ. ภาค ก. ความสามารถทั่วไป เงื่อนไขสัญลักษณ์ นะครับ ครั้งนี้ จึงเป็นการนำแนวข้อสอบ เงื่อนไขสัญลักษณ์ เพื่อนำมาฝึกทำให้เกิดทักษะความชำนาญ เพื่อจะได้ทำข้อสอบได้รวดเร็วขึ้น เพราะในห้องสอบ เวลาจัดได้ว่ามีค่ามาก ยิ่งทำเร็วและถูกต้อง ยิ่งดี คำสั่ง

เลือกตอบข้อ 1. ถ้าข้อสรุปทั้งสอง ถูกด้องหรือเป็นจริง ตามเงื่อนไข
เลือกตอบข้อ 2. ถ้าข้อสรุปทั้งลอง ผิดหรือไม่เป็นจริง ตามเงื่อนไข
เลือกตอบข้อ 3. ถ้าข้อ…

เทคนิคการทำ ข้อสอบ อนุกรม ของ ก.พ.

|ประเภทของอนุกรม เทคนิคการทำโจทย์เลข อนุกรม ข้อแนะนำเพิ่มเติม |


ข้อสอบเลขอนุกรม ของ ก.พ. ต้องการวัดความถนัดทางด้านตัวเลข โดยการจัดทำตัวเลขเป็นชุด ๆ ที่มีความสัมพันธ์กันบางอย่าง โดยให้ผู้เข้าสอบได้แสดงความถนัดด้านตัวเลข ในการวิเคราะห์และแก้ปัญหาตามที่โจทย์ระบุ


ประเภทของอนุกรม รูปแบบความสัมพันธ์ของตัวเลขอนุกรมเท่าที่พบบ่อย ๆ มีหลายประเภท เช่น

ก. อนุกรมเชิงเดี่ยว 

ได้แก่ชุดตัวเลขที่เป็นอนุกรมเพียงชุดเดียว เช่น
ค่าของตัวเลขเพิ่มขึ้นต่อเนื่องอย่างเป็นระบบ โดยการบวก หรือ คูณ ตัวเลขก่อนหน้า เช่น บวกด้วยตัวเลขที่เป็นค่าคงที่ เช่น    5   10   15   20   ...?...
บวกด้วยตัวเลขที่มีระบบ เช่น     1    2    5    10   ...?...
คูณด้วยค่าคงที่ เช่น   1   3   9   27   ...?...
มีทั้ง บวก ลบ คูณ หรือหาร สลับกัน เช่น บวกแล้วคูณด้วยค่าคงที่สลับกัน ดังตัวอย่าง  5   7    14   16  32   ...... มีการ บวก ลบ คูณ หรือ หาร ร่วมกัน เช่น  15   31   63   127   255  ...?...
ในตัวอย่างนี้ จะเห็นว่า ตัวเลขตัวแรกคูณด้วย 2 และบวกด้วย 1 จะได้ตัวเลขตัวถัดไป คูณด้วยค่าคงที่ที่เป็นเศษส่วน ให้สังเกตความสัมพันธ์ว่า ตัวเลขก่อนหน้า …