그래서 디자인 지원 라이브러리에서 새로운 Snackbar를 사용하기 시작했지만 테마에서 "android : textColor"를 정의하면 스낵바의 텍스트 색상에 적용된다는 것을 알았습니다. 기본 텍스트 색상이 어두우면 분명히 문제가됩니다.
누구든지 이것에 대한 방법을 알고 있거나 텍스트에 색상을 지정하는 방법에 대한 조언이 있습니까?
2017 년 1 월 수정 : (답변 후)
아래에 문제를 해결하기위한 몇 가지 사용자 지정 솔루션이 있지만 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