Кнопка аппаратного меню не открывается в Samsung Galaxy Tab 3

У меня есть Samsung Galaxy Tab3, и у меня есть меню реализовано в обычном порядке - то есть

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

и для выбранного меню

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle item selection
    switch (item.getItemId()) {
    case R.id.new_game:
        newGame();
        return true;
    case R.id.help:
        showHelp();
        return true;
    default:
        return super.onOptionsItemSelected(item);
    }
}

В моем xml я использовал android:showAsAction="never" для предметов, которые я хочу видеть в переполнении и android:showAsAction="ifRoom" для предметов, которые я хочу видеть заранее. Но в этом планшете я вижу только те, у которых установлен ifRoom, а остальные просто исчезают, а кнопка меню не показывает пункты переполнения. Я посмотрел на все ответы на SO и попробовал популярные, такие как установка minimum and target sdk versions to less than 11 и так далее. Но меню просто не подходит. Он отлично работает в устройствах, у которых нет емкостного касания меню, а на панели действий отображается кнопка переполнения.

2 ответа

Решение

Ну, это сработало, когда я программно позвонил openOptionsMenu с onKeyDown

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {

         if (keyCode == KeyEvent.KEYCODE_MENU) {
            openOptionsMenu();
        }
        return true;
    };

Может, у вас есть тема (например, полный экран), которая не поддерживает ActionBar?

Другие вопросы по тегам