[JAVA] Ich habe die Menüleiste (Optionsmenü) unter Android geöffnet und gesehen.

Einführung

Hallo. Ich bin Wataku, ein serverseitiger Programmierer, der an einer bestimmten Schule Programmieren studiert. : entspannt: Lassen Sie uns auch dieses Mal Android entwickeln.

Zielperson

So erstellen Sie ein Optionsmenü

** (1) XML-Beschreibung **

    • Erstellen Sie eine XML-Datei für das Optionsmenü im Ordner res / menu. * * -> Klicken Sie mit der rechten Maustaste auf den res-Ordner in Android Studio und verwenden Sie den unter Neu> Android-Ressourcendatei angezeigten Dialog.
  1. Beschreiben Sie das Element-Tag im Menü-Tag *. * -> Ein Element-Tag ist eine Option.
  2. Notieren Sie sich die folgenden 3 Attribute des * item-Tags. * *

--android: id: id dieser Wahl --android: title: Zeichenkette anzeigen --app: showAsAction: Gibt an, ob in der Aktionsleiste angezeigt werden soll

** (2) Untermenü **

Beschreiben Sie in der Menü-XML-Datei die Kombination der Menüelement-Tags im Element-Tag. Untermenüs können durch Verschachteln angezeigt werden.

(3)showAsAction

Das Attribut app: showAsAction des Element-Tags weist die folgenden drei Werte auf.

--nie: Überlaufmenü ohne Anzeige in der Aktionsleiste Speichern in

(Hinweis) Wenn die übergeordnete Klasse der Aktivitätsklasse nicht AppCompatAction, sondern nur Activity ist, ist dies das Attribut android: showAsAction.

** (4) Symbol **

Sie können das Menüsymbol mit dem Attribut android: icon des Element-Tags angeben. Die Optionen mit diesem Attribut haben jedoch die folgenden Spezifikationen.

(Hinweis) Sie können Ihr eigenes Symbolbild erstellen, aber das Android SDK verfügt auch über ein praktisches. Um sie zu verwenden, geben Sie "@ android: drawable / ic_menu _..." an.

Beispielcode

<?xml version="1.0" encoding="utf-8"?>
<menu
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/menuReset"
        android:icon="@android:drawable/ic_menu_close_clear_cancel"
        android:title="@string/menu_reset"
        app:showAsAction="always|withText"/>
    <item
        android:id="@+id/menuFonttype"
        android:title="@string/menu_fonttype"
        app:showAsAction="never"
        >
        <menu>
            <item
                android:id="@+id/menuFonttypeSerif"
                android:title="@string/menu_fonttype_serif"
                app:showAsAction="never"/>
            <item
                android:id="@+id/menuFonttypeSunserif"
                android:title="@string/meun_fonttype_sunsserif"
                app:showAsAction="never"/>
            <item
                android:id="@+id/menuFonttypeMonospace"
                android:title="@string/menu_fontttype_monospace"
                app:showAsAction="never"/>
        </menu>
    </item>
    <item
        android:id="@+id/menuFontstyle"
        android:title="@string/menu_fontstyle"
        app:showAsAction="never"
        >
        <menu>
            <item
                android:id="@+id/menuFontstyleNormal"
                android:title="@string/menu_fontstyle_normal"
                app:showAsAction="never"/>
            <item
                android:id="@+id/menuFontstyleItalic"
                android:title="@string/menu_fontstyle_italic"
                app:showAsAction="never"/>
            <item
                android:id="@+id/menuFontstyleBold"
                android:title="@string/menu_fontstyle_bold"
                app:showAsAction="never"/>
            <item
                android:id="@+id/menuFontstyleBoldItalic"
                android:title="@string/menu_fontstyle_bolditalic"
                app:showAsAction="never"/>
        </menu>
    </item>
</menu>

Menü mit Anzeigeoptionen

Anzeigen des in der XML-Datei beschriebenen Optionsmenüs in der Aktivitätsklasse Sie müssen die Methode ** onCreateOptionsMenu () ** schreiben.

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(Optionsmenü XML-Dateiname, menu);
        return true;
    }

Verarbeitung zum Zeitpunkt der Auswahl

Der Vorgang bei Auswahl des Optionsmenüs wird in der Methode ** onCreateOptionsMenu () ** beschrieben. Das Argumentelement (Menüelementtyp) wird nach folgendem Muster unter Verwendung dieses Argumentelements für ein ausgewähltes Menü verarbeitet.

  1. Rufen Sie die ID des von * item.getItemId () ausgewählten Menüs ab. * *
  2. Verzweigen Sie den Prozess, indem Sie ihn mit dem R-Wert von id des in * xml beschriebenen Menüs vergleichen. * -> Switch-Anweisung ist praktisch.
@Override
    public boolean onOptionsItemSelected(MenuItem item) {
       
        int itemId = item.getItemId();
        switch (itemId) {
            case R.id.Taste R Wert 1:
                //Prozess 1
                break;
            case R.id.Taste R Wert 2:
                //Prozess 2
                break;
                ...
                ...
       }

TIPS

Absicht zurück Taste

Beschreiben Sie Folgendes in der Aktivitätsklasse.

android.support.v7.app.ActionBar actionbar = getSupportActionBar();
actionbar.setDisplayHomeAsUpEnabled(true);

public boolean onOptionsItemSelected(MenuItem item) { Beschreiben Sie Folgendes in der switch-Anweisung von.

case android.R.id.home:
        finish();
        db.close();
        break;

Nachtrag (11.11.2018)

Mit dem obigen Verfahren wird das folgende Optionsmenü in der oberen rechten Ecke angezeigt. スクリーンショット 2018-11-11 15.52.32.png Wenn Sie tippen, ... スクリーンショット 2018-11-11 15.53.06.png Wenn Sie erneut auf "Schriftart" tippen, ... スクリーンショット 2018-11-11 15.53.40.png Wenn Sie auf "Schriftart" tippen スクリーンショット 2018-11-11 15.54.09.png

Nachtrag (30.11.2018)

Eine Liste der Symbole finden Sie unter hier.

das ist alles. So löschte man die Menüleiste unter Android. Wenn Sie Vorschläge haben, wie etwas nicht stimmt, kontaktieren Sie uns bitte. Vielen Dank für das Lesen bis zum Ende.

Recommended Posts

Ich habe die Menüleiste (Optionsmenü) unter Android geöffnet und gesehen.
Ich habe Docker auf EC2 installiert und gestartet
Ich bin auf die Java-Version in Android Studio gestoßen, daher werde ich sie zusammenfassen
Ich habe die Listenansicht der Android-Entwicklung gemeinsam gesehen
Importieren Sie eine Instanz und verwenden Sie sie auf einem anderen Bildschirm
[Android] Zeigen Sie Bilder und Zeichen auf der Registerkarte ViewPager an
Ich möchte die Protokollausgabe unter Android vereinfachen
Ich habe ein "Sunshine Ikezaki-Spiel" gemacht, das ich auf Twitter in Java gesehen habe.
Installieren Sie das memcached Plugin unter MySQL und greifen Sie von Java aus zu
Ich möchte die deaktivierte Option abhängig von der Bedingung zu f.radio_button hinzufügen
Holen Sie sich die Beschleunigung und Ausrichtung des Weltkoordinatensystems auf Android
UnsupportedClassVersionError wurde ausgegeben, als ich die mit Eclipse erstellte .war-Datei auf EC2 platzierte und ausführte.
Ich möchte eine Datei mit Ruby im Internet herunterladen und lokal speichern (mit Vorsicht).
[Android] Holen Sie sich das Datum von Montag
[Android] So aktivieren / deaktivieren Sie das Benachrichtigungsfeld mit StatusBarManager
Fügen Sie Android eine vorgefertigte JAR-Bibliothek hinzu und rufen Sie sie im Framework auf
[Swing] So zeigen Sie einen beliebigen Namen in der Menüleiste des Mac an
Erstellen einer App und erstmaliges Bereitstellen mit heroku
Ich habe das Problem der älteren Schwester tatsächlich im Code ausgedrückt und berechnet
Ist es möglich, die Bibliothek (aar) in die Android-Bibliothek (aar) zu stellen und zu verwenden?
Die Android App stürzt ab. Klicken Sie einfach auf eine Schaltfläche und es wird fallen.