Как изменить цвет фона меню на черный в Android 2.2 и выше

Мне нужно изменить цвет фона параметров меню на черный для Android 2.2 и выше, я попробовал это с приведенными решениями:

protected void setMenuBackground(){                     
        // Log.d(TAG, "Enterting setMenuBackGround");  
        getLayoutInflater().setFactory( new Factory() {  
            public View onCreateView(String name, Context context, AttributeSet attrs) {
                if ( name.equalsIgnoreCase( "com.android.internal.view.menu.IconMenuItemView" ) ) {
                    try { // Ask our inflater to create the view  
                        LayoutInflater f = getLayoutInflater();  
                        final View view = f.createView( name, null, attrs );  

                        new Handler().post( new Runnable() {  
                            public void run () {  
                                // sets the background color   
                                view.setBackgroundResource(R.color.black);
                                // sets the text color              
                                ((TextView) view).setTextColor(Color.WHITE);
                                // sets the text size              
                                ((TextView) view).setTextSize(18);
                }
                        } );  
                    return view;
                }
            catch ( InflateException e ) {}
            catch ( ClassNotFoundException e ) {}  
       } 
        return null;
            }
    }); 
    }

Но он показывает фатальную ошибку исключения «04-27 17:03:38.831: E/AndroidRuntime (923): java.lang.IllegalStateException: на этом LayoutInflater уже установлена ​​фабрика». Я делаю что-то неправильно ??


person abhishek    schedule 27.04.2012    source источник


Ответы (1)


Если я правильно понял ваш вопрос. Вы должны быть в состоянии сделать это в XML. Переопределить цвета контекстного меню в Android

person EGHDK    schedule 24.08.2012