изменить цвет заголовка всплывающего подменю 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).


person S.R    schedule 16.04.2017    source источник
comment
Можете ли вы продемонстрировать, как вы показываете PopupMenu, фактическое и желаемое поведение на скриншоте?   -  person azizbekian    schedule 28.05.2017


Ответы (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);

Я проверил это на себе.

person S.R    schedule 19.07.2017