Intereting Posts
Является ли неизменяемым Bitmap быстрее, чем измененным? Получить элемент андроида: versionName в коде Не удалось определить запуск. Активность: по умолчанию. Активность не найдена. RecyclerView не перерабатывает представления, когда использует его внутри NestedScrollView Можете ли вы использовать ожидающие намерения с локальными трансляциями? Запись метаданных EXIF ​​на изображения в Android Перетаскивание элементов в RecyclerView с помощью GridLayoutManager Android – увольнениеDialog не отклоняет диалог Разница между `initLoader` и` restartLoader` в `LoaderManager` Как использовать функцию только в том случае, если версия 11+ MalformedJsonException с API-интерфейсом дооснастки? Как передать ArrayList <CustomeObject> из одного действия в другое? Android: Matrix -> что отличает preconcat и postconcat? Как остановить атаку hack / DOS на веб-API Android: Как обновить пользовательский интерфейс от AsyncTask, если AsyncTask находится в отдельном классе?

Изменение цвета кнопки переполнения на ActionBar

Можно ли изменить цвет кнопки переполнения (3 вертикальных точки) на панели действий? Если да, то как мы это делаем? Я не нашел стиль для кнопки переполнения.

благодаря

Solutions Collecting From Web of "Изменение цвета кнопки переполнения на ActionBar"

Вы можете изменить изображение, используемое для него, используя следующую декларацию стиля.

<style name="MyCustomTheme" parent="style/Theme.Holo"> <item name="android:actionOverflowButtonStyle">@style/MyCustomTheme.OverFlow</item> </style> <style name="MyCustomTheme.OverFlow"> <item name="android:src">@drawable/my_overflow_image</item> </style> 

И если вы используете ActionBarSherlock, вот как это сделать

 <style name="MyCustomTheme" parent="style/Theme.Sherlock"> <item name="android:actionOverflowButtonStyle">@style/MyCustomTheme.OverFlow</item> <item name="actionOverflowButtonStyle">@style/MyCustomTheme.OverFlow</item> </style> <style name="MyCustomTheme.OverFlow"> <item name="android:src">@drawable/my_overflow_image</item> </style> 

Ответ XGouchet велик, но просто хотел добавить, что если вы наследуете существующий стиль, вы получите стандартное дополнение, выбранное состояние и т. Д.

 <style name="MyCustomTheme.OverFlow" parent="Widget.Sherlock.ActionButton.Overflow"> <item name="android:src">@drawable/title_moreicon</item> </style> 

Создайте этот метод:

 public static void setOverflowButtonColor(final Activity activity, final int color) { final String overflowDescription = activity.getString(R.string.abc_action_menu_overflow_description); final ViewGroup decorView = (ViewGroup) activity.getWindow().getDecorView(); final ViewTreeObserver viewTreeObserver = decorView.getViewTreeObserver(); viewTreeObserver.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { final ArrayList<View> outViews = new ArrayList<View>(); decorView.findViewsWithText(outViews, overflowDescription, View.FIND_VIEWS_WITH_CONTENT_DESCRIPTION); if (outViews.isEmpty()) { return; } AppCompatImageView overflow = (AppCompatImageView) outViews.get(0); overflow.setColorFilter(color); removeOnGlobalLayoutListener(decorView, this); } }); } 

И затем назовите его следующим образом:

 setOverflowButtonColor(this, getResources().getColor(R.color.hot_pink)); 

Если вы используете AppCompat, вы можете получить новый пользовательский стиль с атрибутом android:textColorSecondary установленным на необходимый цвет, и использовать его в качестве темы для вашей панели инструментов. Android: изменение цвета текста и цвета переполнения панели инструментов

Помещение изображений не является отличной идеей, потому что, если вы можете изменить ее, изменив цвета только тогда, не нужно использовать дополнительный образ. Точки меню выбирают цвет из textColorPrimary, поэтому вместо того, чтобы писать несколько строк, эта единственная строка <item name="android:textColorPrimary">@android:color/white</item> исправит вашу проблему. Только небольшая проблема заключается в том, что этот цвет будет применяться и к цвету текста вашего меню переполнения, а также к множеству других мест:

Другой программный вариант:

  Drawable drawable = toolbar.getOverflowIcon(); if(drawable != null) { drawable = DrawableCompat.wrap(drawable); DrawableCompat.setTint(drawable.mutate(), getResources().getColor(R.color.thecolor)); toolbar.setOverflowIcon(drawable); } 

Надеюсь, поможет!

 <style name="MyCustomTheme" parent="@style/Theme.AppCompat.Light"> <item name="actionOverflowButtonStyle">@style/OverflowMenuButtonStyle</item> </style> <style name="OverflowMenuButtonStyle" parent="Widget.AppCompat.ActionButton.Overflow"> <item name="android:src">@drawable/quantum_ic_more_vert_white_24</item> </style> 

Обратите внимание, что это отличается от ответа XGouchet, удалив пространство имен android. Ответ XGouchet работает только для Lollipop и более высоких устройств, в то время как мои работы работают на всех устройствах API 7+.

Ref: Пользовательская тема AppCompat не меняет значок переполнения на старых устройствах