我有一个用例,我需要在onPrepareOptionsMenu中动态创建菜单项和子菜单,并动态设置这些项目和子菜单的背景颜色。
背景颜色在运行时确定。我没有预先存在的可以放入XML的背景颜色列表(您基本上可以将它们视为在与菜单相同的活动中键入文本视图的RGB值)。
我只想更改菜单项的背景,如果它们显示在弹出窗口中(例如SHOW_AS_ACTION_NEVER或SHOW_AS_ACTION_IF_ROOM,当没有足够的空间时),而不是直接在操作栏中显示它们。
我知道我可以使用自定义视图inflater在菜单项视图膨胀时更改背景,但这需要反射并依赖于View子类的名称。该名称可能在不同版本的Android或不同制造商的设备上有所不同。
有没有办法在不依赖任何操作系统版本和设备特定的情况下执行此操作?