Android Studio 自定义工具栏 - 更改子菜单项背景(和形状?)

时间:2021-01-04 00:56:08

标签: java android android-toolbar android-theme android-menu

我目前正在尝试为我正在处理的一个宠物项目实现一个简单的工具栏。我想更改为单击菜单按钮后立即打开的子/弹出菜单的背景颜色。 (下方截图)

我的 menu_options.xml

层次结构
<item android:id="@+id/item1"
    android:icon="@drawable/menu_icon"
    android:title="options"
    app:showAsAction="ifRoom">

    <menu>
        <item android:id="@+id/subitem1"
            android:title="Subitem 1"/>
    </menu>
</item>

我的 theme.xml 中引用工具栏及其项目的部分:

[...]
    <item name="actionBarPopupTheme">@style/HeaderBar.Popup</item>
    <item name="android:itemBackground">@drawable/menu_popup_colors</item>
</style>

<style name="HeaderBar" parent="Theme.AppCompat.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="android:background">#A06dede9</item>
</style>

<style name="HeaderBar.Popup" parent="Widget.AppCompat.PopupMenu">
    <item name="android:colorBackground">#A06dede9</item>

</style>

我的Drawable/menu_popup_colors.xml

<item android:state_pressed="true">
    <color
        android:color="#FF6dede9"/>
</item>
<item>
    <color
        android:color="#A06dede9"/>
</item>

我的 Toolbar.xml(嵌套在我的 Activity.xml 中的 FrameLayout)

<androidx.appcompat.widget.Toolbar
        android:id="@+id/my_toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        style="@style/HeaderBar"
        app:theme="@style/HeaderBar.Popup"
        app:popupTheme="@style/HeaderBar.Popup"
        android:elevation="4dp"

        />

这是我的子菜单项现在的样子的屏幕截图 Screenshot of Button

问题:

我想将我的子菜单的整个背景更改为蓝色,就像子项目周围的区域一样。还设置了十六进制代码,以便稍微降低 alpha 通道,以便您应该能够看穿它。看起来弹出菜单有一个背景(目前是白色和不透明的),然后是每个单独项目的另一个背景(已经是蓝色和略微半透明)。我也想把白色的换成蓝色的。

附加请求: 有没有办法将自定义图像设置为背景?我想将菜单形状从圆角调整为锐边,可能是通过使用 .png。有没有办法做到这一点?

非常感谢您的帮助!如果我可以提供任何其他代码片段,请告诉我!

0 个答案:

没有答案