Android: не в состоянии урезать стиль меню действий - PullRequest
1 голос
/ 10 октября 2019

Мы не можем стилизовать элементы actionmenu в нашем приложении, попытались установить стиль по-разному. Мы используем библиотеки androidx. Пожалуйста, дайте нам знать, что мы можем делать неправильно. Ценю вашу помощь.

<style name="MenuTextStyle" parent="TextAppearance.AppCompat.Widget.ActionBar.Menu">
    <item name="android:textColor">#F0F</item>
    <item name="android:textStyle">normal</item>
    <item name="android:textSize">10sp</item>
</style>

<style name="AppThemeMm" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item> //This works
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> //This works
    <item name="colorAccent">@color/colorAccent</item> //This works
    <item name="android:actionMenuTextAppearance">@style/MenuTextStyle</item> //This does not work
</style>

Ответы [ 2 ]

1 голос
/ 10 октября 2019

Попробуйте что-то вроде этого

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="android:dropDownListViewStyle">@style/actionMenuDropDown</item>
    <item name="android:listPreferredItemHeightSmall">50dp</item>
    <item name="colorAccent">@color/colorAccent</item>

</style>
    <style name="actionMenuDropDown" parent="@android:style/Widget.Holo.ListView.DropDown">
    <item name="android:divider">#5A5252</item>
    <item name="android:dividerHeight">1sp</item>
    <item name="android:listSelector">#FFEA00</item>
    <item name="android:background">#AC2299</item>
    <item name="android:textColor">#443A43</item>
</style>

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

 <style name="AppTheme.MyPopupOverlay" parent="ThemeOverlay.AppCompat.Dark" >
    <item name="android:textColor">#AC5532</item>
</style>

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

<androidx.appcompat.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.MyPopupOverlay" />
0 голосов
/ 10 октября 2019

Это то, что сработало для нас. Добавлена ​​настройка непосредственно в PopupOverlay.

<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light">
    <item name="android:textColor">@color/colorPrimaryDark</item>
    <item name="android:textSize">14sp</item>
</style>

На пользовательской панели инструментов

app: popupTheme = "@ style / AppTheme.PopupOverlay"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...