Я пытаюсь изменить текст и цвет значка моего MenuItem с помощью кода. Я искал решения, как это сделать, и текст меняется, но значок нет.
Вот мой код на данный момент:
public void setItemOptionColor(boolean isActive){
MenuItem menuItem = mDrawerNavigationView.getMenu().findItem(R.id.my_item);
SpannableString spannableString = new SpannableString(menuItem.getTitle());
Drawable drawable = menuItem.getIcon();
if(isActive){
spannableString.setSpan(new ForegroundColorSpan(ContextCompat.getColor(getContext(), R.color.accent)), 0, spannableString.length(), 0);
DrawableCompat.setTint(drawable,getResources().getColor(R.color.accent));
//drawable.setColorFilter(getResources().getColor(R.color.accent), PorterDuff.Mode.SRC_ATOP);
//drawable.setTint(getResources().getColor(R.color.accent));
}
menuItem.setIcon(drawable);
menuItem.setTitle(spannableString);
}
Итак, прямо сейчас, чтобы изменить цвет значка, который я использую DrawableCompat
, но есть и две другие мои попытки, которые закомментированы. Все эти 3 метода не работают.
Также я добавлю, что, хотя я удалил настройку оттенка по умолчанию на белый из файла XML, значок все равно отображается белым, хотя изначально нарисованный файл черный. И я не знаю, почему это так, может, это как-то связано с проблемой