ดังนั้นฉันจึงเริ่มใช้ 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();
// change snackbar text color
int snackbarTextId = android.support.design.R.id.snackbar_text;  
TextView textView = (TextView)snackbarView.findViewById(snackbarTextId);  
textView.setTextColor(getResources().getColor(R.color.indigo));
// change snackbar background
snackbarView.setBackgroundColor(Color.MAGENTA);  
(คุณสามารถสร้างเลย์เอาต์Snackbarแบบกำหนดเองของคุณเองได้เช่นกันดูลิงก์ด้านบนหากวิธีนี้รู้สึกว่าแฮ็คเกินไปและคุณต้องการวิธีที่เชื่อถือได้อย่างแน่นอนเพื่อให้ Snackbar ที่กำหนดเองของคุณอยู่ได้นานผ่านการอัปเดตไลบรารีการสนับสนุนที่เป็นไปได้)
หรือดูคำตอบด้านล่างสำหรับคำตอบที่คล้ายกันและอาจเร็วกว่าเพื่อแก้ปัญหาของคุณ


android:textColorPrimary