Изменить всплывающее подменю dropDown название цвета
Я использую стандартное poupMenu, я настроил свое всплывающее меню на темную тему, теперь я хочу знать, как я могу изменить цвет заголовка всплывающего подменю в моей теме?
Это мои стили:
<style name="MyPopupMenu" parent="@style/Widget.AppCompat.PopupMenu">
<!-- <item name="android:dropDownHorizontalOffset">-4dp</item>
<item name="android:dropDownVerticalOffset">4dp</item>-->
<item name="android:popupBackground">@color/material_grey_900</item>
</style>
<style name="popup_TextStyle" parent="@android:style/TextAppearance.Widget.IconMenu.Item">
<item name="android:textColor">@drawable/color_item_popup</item>
<item name="android:textSize">@dimen/popup_text_size</item>
</style>
И я использую это в моей теме так:
<item name="popupMenuStyle">@style/MyPopupMenu</item>
<item name="android:itemTextAppearance">@style/popup_TextStyle</item>
Это вид моего всплывающего меню:
Теперь мне нужно изменить цвет заголовка (#FF4081).
1 ответ
Решение
Я сделал это программно с кодом ниже, если кому-то интересно:
// Change PopupMenu subMenu title color
PopupMenu popup = new PopupMenu(activity, view);
Menu itemSetAs = popup.getMenu();
SubMenu s = itemSetAs.findItem(R.id.setAsRingtone).getSubMenu();
SpannableString headerTitle = new SpannableString(itemSetAs.findItem(R.id.setAsRingtone).getTitle());
headerTitle.setSpan(new ForegroundColorSpan(Color.YOUR_COLOR), 0, headerTitle.length(), 0);
s.setHeaderTitle(headerTitle);
Я проверял это сам.