Изменение цвета трёх точек меню (java) мобильное приложение
Как поменять цвет точек меню при смене темы? Меню создаётся так:
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
Есть такая функция для смены темы:
'''
private void setNaturalTheme() {
// Установка природной темы
companySpinner.setBackgroundColor(getResources().getColor(R.color.yellow));
logoImageView.setBackgroundColor(getResources().getColor(R.color.light_green)); // Изменяем цвет фона для ImageView
descriptionTextView.setTextColor(getResources().getColor(R.color.brown));
descriptionTextView.setTextSize(17);
findViewById(R.id.activity_main).setBackgroundColor(getResources().getColor(R.color.light_green)); // Установка светло-зеленого фона
descriptionTextView.setGravity(Gravity.CENTER); // Выравнивание текста по центру
updateSpinnerTheme(1);
Toast.makeText(this, "Природная тема активирована", Toast.LENGTH_SHORT).show();
}
меню имеет следующую разметку
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity">
<item
android:id="@+id/theme_light"
android:title="Светлая тема" />
<item
android:id="@+id/theme_natural"
android:title="Природная тема" />
<item
android:id="@+id/toggle_description"
android:title="Описание"
android:checkable="true"
android:checked="true"/>
Ответы (1 шт):
Автор решения: iramm
→ Ссылка
Drawable drawable = toolbar.getOverflowIcon();
if (drawable != null) {
drawable.setColorFilter(
getResources().getColor(android.R.color.holo_green_light), PorterDuff.Mode.SRC_ATOP);
toolbar.setOverflowIcon(drawable);
}