#java #android #themes
#java #Android #темы
Вопрос:
Я реализовал логику смены темы в своем приложении для Android. К сожалению, когда я меняю тему и вызываю функцию воссоздания, значок в BottomNavigationView не меняет цвет фона, пожалуйста, найдите мой код:
private void setBadge(Integer newMessageCount) {
BadgeDrawable badge = bottomNav.getOrCreateBadge(R.id.nav_messages);
badge.setNumber(newMessageCount);
badge.setBackgroundColor(ThemeColors.getColor(this, R.attr.secondaryColor));
badge.setBadgeTextColor(ThemeColors.getColor(this, R.attr.secondaryTextColor));
}
public class ThemeColors {
public static @ColorInt
int getColor(Context context, int attrColor) {
return ContextCompat.getColor(context, getColorResourceId(context, attrColor));
}
public static int getColorResourceId(Context context, int attrColor) {
TypedValue typedValue = new TypedValue();
context.getTheme().resolveAttribute(attrColor, typedValue, true);
return typedValue.resourceId;
}
}
Не могли бы вы сообщить мне, почему цвет фона не меняется?
С уважением
Комментарии:
1. Как вы можете получить или создать этот значок? Что это вообще такое?
2. Я вызываю getOrCreateBadge из метода onCreate