Tasarım Destek Kitaplığı'nda yeni Snackbar'ı kullanmaya başladım, ancak temanızda "android: textColor" ifadesini tanımladığınızda, bunun snackbar'ın metin rengi için geçerli olduğunu buldum. Birincil metin renginiz koyu ise bu kesinlikle bir sorundur.
Bunun bir yolunu bilen veya metnimi nasıl renklendirmem gerektiğine dair tavsiyesi olan var mı?
Ocak 2017 DÜZENLEME: (Yanıt Sonrası)
Aşağıdaki sorunu çözmek için bazı özel çözümler olsa da, Snackbar'ların temasını sağlamak için doğru yolu sağlamak muhtemelen iyidir.
İlk olarak, muhtemelen android:textColor
temalarınızda tanımlamamalısınız (temayı neyin kullandığını gerçekten bilmiyorsanız). Bu, temanıza bağlanan temelde her görünümün metin rengini ayarlar. Görünümlerinizde varsayılan olmayan metin renkleri tanımlamak istiyorsanız android:primaryTextColor
, özel görünümlerinizde bu niteliği kullanın ve bu niteliğe referans verin.
Bununla birlikte, temaları uygulamak için Snackbar
lütfen bu kalite kılavuzuna bir üçüncü taraf materyal belgesinden bakın: http://www.materialdoc.com/snackbar/ (Bir xml stiline güvenmemesi için programlı tema uygulamasını izleyin)
Referans için:
// 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);
(Ayrıca kendi özel Snackbar
düzenlerinizi de oluşturabilirsiniz , yukarıdaki bağlantıya bakın. Bu yöntem çok zor geliyorsa ve özel Snackbar'ınızın olası destek kitaplığı güncellemeleri yoluyla kesinlikle güvenilir bir şekilde olmasını istiyorsanız bunu yapın).
Alternatif olarak, sorununuzu çözmek için benzer ve belki daha hızlı yanıtlar için aşağıdaki yanıtlara bakın.
android:textColorPrimary