Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:选择后如何更改选项菜单的背景色?_Android - Fatal编程技术网

Android:选择后如何更改选项菜单的背景色?

Android:选择后如何更改选项菜单的背景色?,android,Android,我已经在我的应用程序中创建了一个选项菜单。我想更改所选菜单项的背景色。请帮助我完成此操作。您必须尝试此代码,该代码将使用菜单文本更改菜单颜色 private void setMenuBackground() { // TODO Auto-generated method stub getLayoutInflater().setFactory(new Factory() { @Override public View onCrea

我已经在我的应用程序中创建了一个选项菜单。我想更改所选菜单项的背景色。请帮助我完成此操作。

您必须尝试此代码,该代码将使用菜单文本更改菜单颜色

 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;
            }
        });
}

您必须尝试此代码,该代码将使用菜单文本更改菜单颜色

 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;
            }
        });
}