Android:无法定制动作菜单样式

问题描述 投票:1回答:2

我们无法在我们的应用中设置动作菜单项的样式,尝试以其他方式设置样式。我们正在使用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>
android menu
2个回答
1
投票

尝试类似的事情

<!-- 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
投票

这是对我们有用的。直接向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”

© www.soinside.com 2019 - 2024. All rights reserved.