Java 改变弹出菜单背景颜色(以编程方式)

Java 改变弹出菜单背景颜色(以编程方式),java,android,Java,Android,有没有办法通过编程更改弹出菜单的背景色? 我知道它可以通过style.xml实现,但在我的应用程序中,背景颜色应该根据变量(而不是常量颜色)进行更改。 有什么想法吗 PopupMenu popup = new PopupMenu(ViewProfileActivity.this, viewProfileSettings); popup.getMenu().add(userAccountSettings.getDisplay_name() + " more...");

有没有办法通过编程更改弹出菜单的背景色? 我知道它可以通过style.xml实现,但在我的应用程序中,背景颜色应该根据变量(而不是常量颜色)进行更改。 有什么想法吗

 PopupMenu popup = new PopupMenu(ViewProfileActivity.this, viewProfileSettings);
            popup.getMenu().add(userAccountSettings.getDisplay_name() + " more...");
            popup.getMenu().add("Ban user");
            popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
                @Override
                public boolean onMenuItemClick(MenuItem item) {

                    return true;
                }
            });

            popup.show();
我知道有这样的选择

 <style name="PopupMenu" parent="Widget.AppCompat.PopupMenu">
    <item name="android:popupBackground">@color/darkergray</item>
</style>

@彩色/深灰色

但是我需要通过编程来实现颜色变量

请在那里分享你的代码。没什么新鲜事