更改菜单的背景颜色(inflater)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了更改菜单的背景颜色(inflater)相关的知识,希望对你有一定的参考价值。

如何更改菜单(inflater)的背景颜色?

public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
        super.onCreateContextMenu(menu, v, menuInfo);
        if (v.getId() == R.id.hostList) {
            MenuInflater inflater = getMenuInflater();
            inflater.inflate(R.menu.host_menu, menu);
        }
    }

菜单是:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">


    <item
        android:id="@+id/test1"
        android:title="@string/test1">
        </item>
    <item
        android:id="@+id/test2"
        android:title="@string/test2">
    </item>
</menu>

我尝试了很多东西,但我可以使用“TextAppearanceSpan”更改文本(或文本背景)的颜色..但我需要更改所有菜单的背景。

答案

解决方案是将背景颜色更改为您的视图:

View v = inflater.inflate(R.menu.host_menu, menu);
v.setBackgroundColor(getResources.getColor(R.color.yourColor));

以上是关于更改菜单的背景颜色(inflater)的主要内容,如果未能解决你的问题,请参考以下文章

如何从片段更改 Tablayout 的背景颜色?

使用颜色选择器更改片段中edittext的背景颜色

片段更改崩溃

更改操作栏上方系统设置菜单的背景颜色

PrimeReact:悬停时更改菜单栏项目的背景颜色

如何在 Android 4.2 中更改操作栏选项菜单的背景颜色?