Eintauch

Mit Immersionen haben Sie mehr Möglichkeiten, Nutzereingaben zu erfassen und Benutzeroberflächen zu erstellen. Auf diese Weise können Sie die Personalisierung am aufwendigsten gestalten.

Wenn Sie Glass zum ersten Mal entwickeln, lesen Sie stattdessen den Leitfaden zum Eintauchen. In diesem Dokument wird beschrieben, wie Sie gemäß unseren Best Practices für das Design ein vollständiges Glassware-Modell mit immersiven Elementen erstellen.

Funktionsweise

Immersionen werden außerhalb der Zeitachse angezeigt. Sie haben also ab dem Zeitpunkt, an dem Glass gestartet wird, die volle Kontrolle.

Du kannst interaktive Android-Aktivitäten, Layouts, UI-Widgets und den Rest der Android-Plattform erstellen. Anschließend verwenden Sie das GDK, um es in Glass einzubinden, z. B. Sprachbefehle, Karten im Glass-Stil und mehr.

Wenn ein Eintauchen beginnt, erscheinen sie über der Zeitachse. Wenn Nutzer mit dem Eintauchen fertig sind, wischen sie nach unten.

Verwendung

Immersive Anzeigen eignen sich hervorragend für Erlebnisse, die eine längere Aufmerksamkeit der Nutzer erfordern. Sie ermöglichen es Ihnen, eine spezielle Benutzeroberfläche zu erstellen, die außerhalb der Zeitachse angezeigt wird, damit Nutzer sich eingehender mit dem Thema befassen können.

Immersionen sind auch erforderlich, wenn Sie zeitachsenspezifische Funktionen wie Vorwärts- und Rückwärtswischen und das Festlegen des Zeitlimits für den Bildschirm überschreiben müssen.

Verwenden Sie diese Daten jedoch nur, wenn dies erforderlich ist, da sie mehr Arbeit und mehr Zeit für die Gestaltung erfordern. Live-Karten bieten ausreichend Funktionen für die meisten Glassware-Typen.

Immersive erstellen

Sie erstellen Immersive anhand von standardmäßigen Android-Aktivitäten. Beachten Sie beim Schreiben von Aktivitäten für Glass jedoch Folgendes:

  • Gestalte deine Benutzeroberflächen so, dass sie eine Bildschirmgröße von 640 × 360 Pixel haben.
  • Entwerfen Sie für Glass sinnvolle Interaktionen, anstatt Aktivitäten von anderen Android-Geräten zu portieren.
  • Verlassen Sie sich nicht auf komplexe Touch-Gesten oder UI-Muster.
  • Das Wischen nach unten erfolgt immer wieder im Aktivitätsstapel, bis Nutzer die Zeitachse erreichen. Das Symbol sollte ähnlich wie die Android-Schaltfläche „Zurück“ auf Smartphones und Tablets funktionieren.
  • Erstelle ein 50 × 50 Pixel großes Symbol und gib es für das Attribut android:icon des Elements <activity> in deinem Android-Manifest an. Geben Sie außerdem Text für android:label an. Dadurch kann ein Sprach- oder Touch-Menüelement, das mit mehreren Glassware verknüpft ist, den Namen und das Symbol Ihrer Glassware als Option anzeigen.
  • Gib für dein <activity>-Element android:immersive="true" an, um das Eintauchen zu fokussieren, nachdem der Bildschirm in den Ruhemodus wechselt und aktiviert wird.

Speisekarte erstellen und anzeigen

Glass zeigt den richtigen Stil für Menüs an, wenn Sie sie mit den standardmäßigen Android-Menü-APIs innerhalb einer Aktivität erstellen.

Um ein Menü für eine Aktivität anzuzeigen, erstellen Sie Menüressourcen und zeigen sie dann bei einer Nutzeraktion an, z. B. durch Antippen, wenn Ihre Aktivität fokussiert ist.

Speisekartenressourcen erstellen

Das Erstellen von Menüressourcen erfolgt auf die gleiche Weise wie auf der Android-Plattform, es gelten jedoch folgende Richtlinien:

  • Geben Sie für jeden Menüpunkt ein Symbol für das Menüelement mit 50 × 50 Pixeln an. Das Menüsymbol muss auf einem transparenten Hintergrund weiß sein. Laden Sie die Glass-Menüsymbole herunter, um sie zu verwenden oder als Beispiel zu verwenden.
  • Verwenden Sie eine kurze Wortgruppe, die die Aktion beschreibt und im Groß- und Kleinschreibung steht. Ein Verb funktioniert ebenfalls gut, z. B. mit "Teilen" oder "Allen antworten".

Hier ein einfaches Beispiel für den Einstieg:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/reply_menu_item"
        android:title="@string/reply"                <!-- imperative verb -->
        android:icon="@drawable/icons_50_reply" />   <!-- white in color on
                                                     transparent background
                                                     -->
</menu>

Weitere Informationen zum Erstellen von Android-Menüs findest du in der Android SDK-Dokumentation unter Menü.

Umgang mit Menü-Callbacks

Die Klasse Activity enthält Callbacks, die Sie zum Erstellen, Aufrufen und Löschen von Menüs überschreiben:

  1. onCreateOptionsMenu() erhöht die XML-Menüressource.
  2. Mit onPrepareOptionsMenu() werden Menüpunkte ein- oder ausgeblendet. Sie können beispielsweise verschiedene Menüpunkte anzeigen lassen, die sich nach den Aktionen der Nutzer richten.
  3. onOptionsItemSelected() übernimmt die Nutzerauswahl.

    public class MyActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
        }
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            MenuInflater inflater = getMenuInflater();
            inflater.inflate(R.menu.stopwatch, menu);
            return true;
        }
    
        @Override
        public boolean onPrepareOptionsMenu(Menu menu) {
            // Implement if needed
        }
    
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            // Handle item selection. Menu items typically start another
            // activity, start a service, or broadcast another intent.
            switch (item.getItemId()) {
                case R.id.stop:
                    startActivity(new Intent(this,
                    StopStopWatchActivity.class));
                    return true;
                default:
                    return super.onOptionsItemSelected(item);
            }
        }
    }
    

Menü anzeigen

Rufe zum Aufrufen des Menüs openOptionsMenu() auf, z. B. durch Tippen auf das Touchpad. In den folgenden Beispielen wird eine Tippbewegung auf eine Aktivität erkannt und dann openOptionsMenu() aufgerufen.

public class MainActivity extends Activity {
    // ...
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
          if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) {
              openOptionsMenu();
              return true;
          }
          return super.onKeyDown(keyCode, event);
    }
}

Einige Hilfsmethoden sind verfügbar, um das Aussehen und die Funktionsweise von Menüs zu ändern. Weitere Informationen finden Sie unter MenuUtils.