support snack que length_long importar custom bar android colors android-design-library androiddesignsupport android-snackbar

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)