คุณสามารถใช้
Snackbar
ถึง
แสดงข้อความสั้นๆ แก่ผู้ใช้ เลิกชอบ
การแจ้งเตือน
ข้อความจะหายไปโดยอัตโนมัติในช่วงเวลาสั้นๆ Snackbar
คือ
เหมาะสำหรับข้อความสั้นๆ ที่ผู้ใช้ไม่จำเป็นต้องดำเนินการ ตัวอย่างเช่น
แอปอีเมลสามารถใช้ Snackbar
เพื่อแจ้งผู้ใช้ว่าแอป
ส่งอีเมลสำเร็จแล้ว
ใช้ CoordinatorLayout
มี Snackbar
แนบอยู่กับข้อมูลพร็อพเพอร์ตี้ Snackbar
มีฟังก์ชันการทำงานพื้นฐานหากมีการแนบอยู่กับออบเจ็กต์ใดๆ ที่ได้มาจาก
View
คลาส เช่น
ออบเจ็กต์เลย์เอาต์ทั่วไป อย่างไรก็ตาม หาก Snackbar
คือ
แนบกับ
CoordinatorLayout
,
Snackbar
จะมีฟีเจอร์เพิ่มเติมดังนี้
- ผู้ใช้สามารถปิด
Snackbar
ได้ด้วยการเลื่อนออกไป - เลย์เอาต์จะย้ายองค์ประกอบ UI อื่นๆ เมื่อ
Snackbar
ปรากฏขึ้น ตัวอย่างเช่น หากเลย์เอาต์มีFloatingActionButton
, เลย์เอาต์จะย้ายปุ่มขึ้นเมื่อแสดงSnackbar
แทน ของการวาดSnackbar
ที่ด้านบนของปุ่ม คุณจะเห็นวิธีการ ภาพที่ 1
คลาส CoordinatorLayout
จะมีซูเปอร์เซ็ตของ
ฟังก์ชันของ
FrameLayout
หากแอปใช้ FrameLayout
อยู่แล้ว คุณสามารถแทนที่เลย์เอาต์นั้นได้
ด้วย CoordinatorLayout
เพื่อเปิดใช้ Snackbar
เต็มรูปแบบ
หากแอปใช้ออบเจ็กต์เลย์เอาต์อื่นๆ ให้รวมเลย์เอาต์ที่มีอยู่เข้าด้วยกัน
องค์ประกอบใน CoordinatorLayout
ดังที่แสดงใน
ตัวอย่าง:
<android.support.design.widget.CoordinatorLayout android:id="@+id/myCoordinatorLayout" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- Here are the existing layout elements, now wrapped in a CoordinatorLayout. --> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <!-- ...Toolbar, other layouts, other elements... --> </LinearLayout> </android.support.design.widget.CoordinatorLayout>
ตั้งค่าแท็ก android:id
สำหรับ CoordinatorLayout
และต้องใช้รหัสของเลย์เอาต์เมื่อแสดงข้อความ
แสดงข้อความ
การแสดงข้อความมี 2 ขั้นตอนในการแสดง ก่อนอื่นคุณต้องสร้าง
Snackbar
ที่มีข้อความอยู่ จากนั้นเรียกใช้ออบเจ็กต์ดังกล่าว
show()
ในการแสดงข้อความต่อผู้ใช้
สร้างออบเจ็กต์ Snackbar
สร้างออบเจ็กต์ Snackbar
โดยการเรียกฟังก์ชัน
วันที่ Snackbar.make()
เมื่อสร้าง Snackbar
ให้ระบุข้อความ
และระยะเวลาแสดงข้อความ
Kotlin
val mySnackbar = Snackbar.make(view, stringId, duration)
Java
Snackbar mySnackbar = Snackbar.make(view, stringId, duration);
- การดู
-
มุมมองที่จะแนบ
Snackbar
เมธอดจะค้นหา ดูลำดับชั้นจากมุมมองที่ผ่านจนกระทั่งถึงCoordinatorLayout
หรือมุมมองเนื้อหาของการตกแต่งหน้าต่าง โดยปกติแล้ว การส่งบัตรCoordinatorLayout
จะง่ายกว่า การรวมเนื้อหาของคุณไว้ - รหัสสตริง
- รหัสทรัพยากรของข้อความที่ต้องการแสดง สามารถจัดรูปแบบหรือ ข้อความที่ไม่ได้จัดรูปแบบ
- ระยะเวลา
-
ระยะเวลาที่ใช้ในการแสดงข้อความ ประเภท
LENGTH_SHORT
หรือLENGTH_LONG
แสดงข้อความต่อผู้ใช้
หลังจากสร้าง Snackbar
แล้ว ให้เรียกใช้ show()
เพื่อแสดง Snackbar
ให้กับผู้ใช้:
Kotlin
mySnackbar.show()
Java
mySnackbar.show();
ระบบไม่แสดงออบเจ็กต์ Snackbar
หลายรายการพร้อมกัน
ดังนั้น หากมุมมองแสดง Snackbar
อื่นอยู่ ค่า
ระบบจะจัดคิว Snackbar
และแสดงหลังจากเหตุการณ์ปัจจุบัน
Snackbar
หมดอายุหรือถูกปิด
ถ้าต้องการแสดงข้อความถึงผู้ใช้ และไม่จำเป็นต้องเรียกใช้
วิธีการยูทิลิตีของออบเจ็กต์ Snackbar
คุณไม่จำเป็นต้องเก็บ
อ้างอิงถึง Snackbar
หลังจากที่คุณเรียก show()
สำหรับ
ด้วยเหตุนี้ จึงเป็นเรื่องปกติที่จะใช้การผูกเครื่องมือเพื่อสร้างและแสดง
Snackbar
ในคำสั่งเดียว:
Kotlin
Snackbar.make( findViewById(R.id.myCoordinatorLayout), R.string.email_sent, Snackbar.LENGTH_SHORT ).show()
Java
Snackbar.make(findViewById(R.id.myCoordinatorLayout), R.string.email_sent, Snackbar.LENGTH_SHORT) .show();