Android:选中时如何更改选项菜单的背景颜色?

标签 android

我在我的应用程序中创建了一个选项菜单。我想更改所选菜单项的背景颜色。请帮我做这件事。

最佳答案

您必须尝试此代码,它会使用菜单文本更改您的菜单颜色。

 private void setMenuBackground() {
    // TODO Auto-generated method stub
     getLayoutInflater().setFactory(new Factory() {
            @Override
            public View onCreateView (String name, Context context, AttributeSet attrs) {
                if (name.equalsIgnoreCase("com.android.internal.view.menu.IconMenuItemView")) {
                try {

                        LayoutInflater f = getLayoutInflater();
                        final View view = f.createView(name, null, attrs);

                        new Handler().post( new Runnable() {
                            public void run () {
                                view.setBackgroundColor(Color.GRAY);
                            }
                        });
                        return view;
                    }
                    catch (InflateException e) {
                    }
                    catch (ClassNotFoundException e) {
                    }
                }
                return null;
            }
        });
}

关于Android:选中时如何更改选项菜单的背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5726467/

相关文章:

android - ListView 中的焦点控制

android - 在平板电脑上膨胀 GridView 时出错

android - 是否可以在网页中对地址进行编码,以便 iOS 和 Android 能够识别它并加载它们的本地 map 程序?

android - "If"OnCreate 失败

android - 捕获运行 android 应用程序的视频,然后播放它

android - 找不到与给定名称 : attr 'android:windowTranslucentNavigation' 匹配的资源

android - 将自定义可打包对象额外或在 ArrayList 中传递给 RemoteViewsService 会中断 appwidget

android - 如何在Android gradle中使用嵌套依赖?

android - adb tcpip(ADB Over Wi-Fi)的安全性如何

android - EditText 的大小不适合内容