คำถามติดแท็ก android-snackbar

9
จะแสดง Snackbar เมื่อกิจกรรมเริ่มได้อย่างไร
ฉันต้องการแสดง Android Snackbar (android.support.design.widget.Snackbar)เมื่อกิจกรรมเริ่มต้นเหมือนกับที่เราแสดงไฟล์Toast. แต่ปัญหาคือเราต้องระบุเค้าโครงหลักเมื่อสร้างSnackbarเช่นนี้: Snackbar.make(parentlayout, "This is main activity", Snackbar.LENGTH_LONG) .setAction("CLOSE", new View.OnClickListener() { @Override public void onClick(View view) { } }) .setActionTextColor(getResources().getColor(android.R.color.holo_red_light )) .show(); จะให้เค้าโครงหลักได้อย่างไรเมื่อเราแสดงSnackbarเมื่อเริ่มกิจกรรมโดยไม่มีเหตุการณ์คลิก (หากเป็นเหตุการณ์การคลิกเราสามารถส่งผ่านมุมมองหลักได้อย่างง่ายดาย)

9
Android - Snackbar vs Toast - การใช้งานและความแตกต่าง
เราใช้เพียงแค่ขนมปังปิ้งในแอปพลิเคชันของเราจนถึงตอนนี้และในขณะที่เรากำลังวางแผนที่จะใช้คุณสมบัติใหม่บางอย่างจากไลบรารีการออกแบบการสนับสนุนฉันสงสัยว่าการใช้งานที่แนะนำสำหรับ Snackbar กับขนมปังปิ้งคืออะไร ฉันได้อ่านเอกสารสแน็คบาร์ของ Google สแน็คบาร์ให้ข้อเสนอแนะเล็กน้อยเกี่ยวกับการทำงานในป๊อปอัปขนาดเล็กที่ฐานของหน้าจอบนอุปกรณ์เคลื่อนที่และที่ด้านล่างซ้ายบนเดสก์ท็อป องค์ประกอบเหล่านี้อยู่เหนือองค์ประกอบต่างๆบนหน้าจอรวมถึง FAB และขนมปังปิ้ง Android ยังมีขนมปังรูปทรงแคปซูลซึ่งส่วนใหญ่ใช้สำหรับการส่งข้อความของระบบ ขนมปังปิ้งคล้ายกับสแน็คบาร์ แต่ไม่มีการทำงานและไม่สามารถเลื่อนออกจากหน้าจอได้ ฉันเข้าใจสิ่งที่พวกเขาทำ แต่ฉันค่อนข้างสับสนว่าจะใช้อะไรดี หมายความว่า: หากฉันไม่ต้องการการโต้ตอบกับผู้ใช้ฉันจะใช้ขนมปังปิ้ง? "ระบบส่งข้อความ" หมายถึงอะไร? ใช้กับการแสดงข้อมูลเมื่อมีสิ่งสำคัญเกิดขึ้นระหว่างแอปของฉันกับระบบ Android หรือไม่ สิ่งที่ฉันชอบคือคุณสมบัติการปัดออกจากหน้าจอนั่นเป็นเหตุผลที่จะเริ่มเปลี่ยนขนมปังปิ้งด้วยสแน็คบาร์หรือไม่? (นี่เป็นคำถามตามความคิดเห็นเล็กน้อย)

16
จะเปลี่ยนสีพื้นหลังของสแน็คบาร์ได้อย่างไร?
ฉันกำลังแสดงสแน็คบาร์ใน DialogFragment ภายในคลิกบวกของ alertDialog นี่คือข้อมูลโค้ดของฉัน Snackbar snackbar = Snackbar.make(view, "Please enter customer name", Snackbar.LENGTH_LONG) .setAction("Action", null); View sbView = snackbar.getView(); sbView.setBackgroundColor(Color.BLACK); snackbar.show(); ฉันกำลังส่งมุมมองของไดอะล็อกแฟรกเมนต์ไปที่สแน็คบาร์ ฉันต้องการพื้นหลังสีดำ? ฉันจะทำเช่นนี้ได้อย่างไร? ฉันกำลังส่งคืน alertDialog ใน DialogFragment และธีมที่ฉันตั้งค่าเป็นไดอะล็อกดังต่อไปนี้ <style name="MyAlertDialogStyle" parent="Theme.AppCompat.Light.Dialog.Alert"> <!-- Used for the buttons --> <item name="colorAccent">@color/accent</item> <!-- Used for the title and text --> <item …

22
วิธีตั้งค่าสีข้อความแถบสนับสนุนไลบรารีเป็นอย่างอื่นที่ไม่ใช่ android: textColor?
ดังนั้นฉันจึงเริ่มใช้ Snackbar ใหม่ใน Design Support Library แต่ฉันพบว่าเมื่อคุณกำหนด "android: textColor" ในธีมของคุณจะมีผลกับสีข้อความของสแน็คบาร์ เห็นได้ชัดว่าเป็นปัญหาหากสีข้อความหลักของคุณมืด มีใครรู้วิธีแก้ปัญหานี้หรือมีคำแนะนำว่าฉันควรระบายสีข้อความอย่างไร แก้ไขมกราคม 2560: (หลังคำตอบ) แม้ว่าจะมีวิธีแก้ไขปัญหาแบบกำหนดเองบางอย่างเพื่อแก้ไขปัญหาด้านล่าง แต่ก็น่าจะดีที่จะจัดหาวิธีที่ถูกต้องในการจัดธีม Snackbars ประการแรกคุณอาจไม่ควรกำหนดandroid:textColorธีมของคุณเลย (เว้นแต่คุณจะทราบขอบเขตของสิ่งที่ใช้ธีม) สิ่งนี้จะกำหนดสีข้อความของทุกมุมมองที่เชื่อมต่อกับธีมของคุณ หากคุณต้องการกำหนดสีข้อความในมุมมองที่ไม่ใช่ค่าเริ่มต้นให้ใช้android:primaryTextColorและอ้างอิงแอตทริบิวต์นั้นในมุมมองแบบกำหนดเองของคุณ อย่างไรก็ตามสำหรับการนำธีมไปใช้Snackbarโปรดอ้างอิงคู่มือคุณภาพนี้จากเอกสารของบุคคลที่สาม: http://www.materialdoc.com/snackbar/ (ปฏิบัติตามการใช้ธีมแบบเป็นโปรแกรมเพื่อให้มันไม่ต้องพึ่งพารูปแบบ xml) สำหรับการอ้างอิง: // create instance Snackbar snackbar = Snackbar.make(view, text, duration); // set action button color snackbar.setActionTextColor(getResources().getColor(R.color.indigo)); // get snackbar view View snackbarView = snackbar.getView(); …

11
วิธีปรับแต่งเลย์เอาต์ของ snackBar
มีวิธีใดในการเปลี่ยนเค้าโครงของ snackBar เป็นมุมมองแบบกำหนดเองหรือไม่? ตอนนี้กลายเป็นสีดำและเราสามารถเปลี่ยนสีพื้นหลังได้ แต่ฉันไม่รู้วิธีที่ถูกต้องในการขยายเค้าโครงใหม่และทำให้เป็นพื้นหลัง snackBars? ขอบคุณ ...

6
จะปิด Snackbar โดยใช้ปุ่ม Action ได้อย่างไร?
ตอนนี้ไลบรารีการสนับสนุนการออกแบบของ Android มีการรองรับ Snackbar ฉันใช้รหัสต่อไปนี้เพื่อสร้างรหัส: Snackbar.make(findViewById(R.id.root_layout), result, Snackbar.LENGTH_LONG) .setAction("Dismiss", new View.OnClickListener() { @Override public void onClick(View v) { } }).show(); สแน็กบาร์สามารถปิดได้โดยการปัด อย่างไรก็ตามฉันต้องการปิดโดยใช้ปุ่มการดำเนินการของมันเอง (สร้างโดยใช้ฟังก์ชัน setAction) อย่างไรก็ตามดูเหมือนว่าจะไม่มีฟังก์ชันใดที่สามารถทำได้
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.