Настройка постоянного меню параметров Android - PullRequest
1 голос
/ 03 декабря 2011

Я ищу способ сохранения меню опций на экране, как только действие открывается без нажатия кнопки меню симулятора, и оно должно присутствовать до тех пор, пока не будет нажата одна из опций в меню

В настоящее время я сделал следующее меню:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/icon"
    android:icon="@drawable/icon" />
<item android:id="@+id/text"
    android:title="Text" />
<item android:id="@+id/icontext"
    android:title="Icon and text"
    android:icon="@drawable/icon" />
</menu>

И мой код:

@Override
public boolean onCreateOptionsMenu(Menu menu) 
{
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu, menu);
    return true;
}


@Override
  public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) 
    {
        case R.id.icon:     
                            break;
        case R.id.text: 
                            break;
        case R.id.icontext: 
                            break;
      }
      return true;
  }

Пожалуйста, предложите изменения в моем коде.

Ответы [ 2 ]

0 голосов
/ 03 декабря 2011

Меню опций действий можно программно открывать и закрывать с помощью openOptionsMenu и closeOptionsMenu соответственно

@Override 
public void onAttachedToWindow() { 
    super.onAttachedToWindow();  
    openOptionsMenu(); 
} 

и для закрытия:

closeOptionsMenu();

для уровней, которые не поддерживают onAttachedToWindow, можно использоватьотложенное выполнение (не лучшим образом):

    new Handler().postDelayed(new Runnable() {
        public void run() {
            openOptionsMenu();
        }
    }, 1000);
0 голосов
/ 03 декабря 2011

Я еще не пробовал, но вы можете посмотреть openOptionsMenu . Затем, после его открытия, вы должны попытаться перехватить нажатие кнопки меню и нажатие кнопки «назад» (как вы бы закрыли меню в противном случае) и отключить эту функцию только после выбора одного из параметров.

С учетом всего вышесказанного все это выглядит как хак, так что, возможно, вам следует подумать о другом решении для того, чего вы хотите достичь.

...