android - que - snackbar api level
El color del texto de la acción de Snackbar no cambia (3)
Quiero cambiar el color del texto de acción de mi snackbar, pero no funciona por alguna razón.
Utilizo el siguiente código para mostrar un snackbar:
Snackbar.make(findViewById(R.id.root), "text", Snackbar.LENGTH_LONG).setActionTextColor(R.color.yellow).setAction("OK", new View.OnClickListener() {
@Override
public void onClick(View view) {
}
}).show();
El argumento de setActionTextColor
es el int
que representa el color, no el ID de recurso.
En lugar de esto:
.setActionTextColor(R.color.yellow)
tratar:
.setActionTextColor(Color.YELLOW)
Si quieres usar recursos de todos modos, prueba:
.setActionTextColor(ContextCompat.getColor(context, R.color.color_name));
Nota: para usar ContextCompat, asumo que ha incluido la biblioteca de soporte en su archivo build.gradle
(es opcional si ya tiene la biblioteca appcompat (v7) también).
Ninguna de las respuestas anteriores me ayudó. Encontré esta solución y funciona cambiando manualmente el color del texto de TextView
Snackbar snack = Snackbar.make(v, "Snackbar message", Snackbar.LENGTH_LONG);
View view = snack.getView();
TextView tv = (TextView) view.findViewById(android.support.design.R.id.snackbar_text);
tv.setTextColor(Color.WHITE);
snack.show();
Utilizar
.setActionTextColor(getResources().getColor(R.color.red))
en lugar de solo
.setActionTextColor(R.color.red)