Белый фон по опциону (Android) - PullRequest
       0

Белый фон по опциону (Android)

0 голосов
/ 09 августа 2011

В моем Samsung Galaxy при нажатии кнопки меню меню имеет очень темно-синий (почти черный) фон. Я думаю, что цвет фона является темой rom / version зависит по умолчанию. Для моего приложения мне нужен белый (или очень светлый) фон, иначе мои иконки практически не видны. Но я не вижу никакого способа изменить фон меню.

Как мне этого достичь?

Заранее спасибо

1 Ответ

1 голос
/ 09 августа 2011

Поместите это в свой класс активности:

protected void setMenuBackground()
{
    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()
                                {
                                    // Changes the color of the menu item here
                                    view.setBackgroundColor(Color.WHITE);
                                }
                            });
                            return view;
                    }
                    catch (InflateException e)
                    {
                    }
                    catch (ClassNotFoundException e )
                    {
                    }
            }
            return null;
        }
    });
}

Затем создайте прослушиватель onCreateOptionsMenu ():

@Override
public boolean onCreateOptionsMenu(Menu menu)
{
    super.onCreateOptionsMenu(menu);
    menu.clear();
    // Add menus here
    setMenuBackground();
    return true;
}

Это в целом позволит вам изменить фон меню опций на любойцвет или изображение (в данном случае белый).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...