Подтвердить что ты не робот

Цвет текста действия с заставкой не меняется

Я хочу изменить цвет текста действия для моей закусочной, но он почему-то не работает.

Я использую следующий код для отображения закутки:

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();
4b9b3361

Ответ 1

Аргументом setActionTextColor является int, который представляет цвет, а не идентификатор ресурса.

Вместо этого:

.setActionTextColor(R.color.yellow)

попробовать:

.setActionTextColor(Color.YELLOW)

Если вы все равно хотите использовать ресурсы, попробуйте:

.setActionTextColor(getResources().getColor(R.color.yellow));

getResources() происходит от Context. Кроме того, getColor устарел, поэтому используйте @SuppressWarnings("deprecation") для удаления зачеркивания (Android Studio) или, по крайней мере, удалить его из предупреждений.

Ответ 2

Использование

.setActionTextColor(getResources().getColor(R.color.red))

вместо

.setActionTextColor(R.color.red)

Ответ 3

Ни один из вышеперечисленных ответов не помог мне. Я нашел это решение, и он работает, изменяя вручную цвет текста 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();