android - update - Hardware-Menü-Schaltfläche wird nicht in Samsung Galaxy Registerkarte 3 geöffnet




samsung galaxy s8 menu button (2)

Ich habe eine Samsung Galaxy Tab3 und ich habe das Menü in der üblichen Weise implementiert - dh

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

und für das ausgewählte Menü

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

In meinem XML verwende ich android:showAsAction="never" für Elemente, die ich in Überlauf und android:showAsAction="ifRoom" für Elemente, die ich im Voraus sehen möchte. Aber in diesem Tablet sehe ich nur diejenigen mit ifRoom gesetzt und die anderen verschwinden einfach und die Menü-Taste zeigt nicht die Überlauf-Elemente. Ich habe alle Antworten auf SO angeschaut und versuchte die populären wie minimum and target sdk versions to less than 11 und so weiter zu setzen. Aber die Speisekarte kommt einfach nicht auf. Es funktioniert gut in Geräten, die nicht die kapazitive Menüberührung haben und eine Überlauftaste in der Aktionsleiste angezeigt wird.


M: Haben Sie ein Thema (wie im Vollbildmodus), das keine ActionBar unterstützt?


Nun, es funktionierte, als ich programmgesteuert openOptionsMenu mit onKeyDown

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

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