Immersyjne

Funkcja immersyjnej umożliwia korzystanie z danych wejściowych użytkownika i tworzenie interfejsów. Dzięki temu możesz dostosować rozwiązanie do swoich potrzeb, ale wymaga to najwięcej pracy.

Jeśli tworzysz treści po raz pierwszy z myślą o Google Glass, przeczytaj Przewodnik imersyjny. W tym dokumencie znajdziesz informacje o tym, jak stworzyć kompletne oprogramowanie Glass z zanurzeniami, korzystając z naszych sprawdzonych metod projektowania.

Działanie

Immersje wyświetlają się poza osią czasu, co zapewnia Ci pełną kontrolę nad wrażeniami użytkownika od chwili rozpoczęcia pisania.

Możesz zanurzyć się w świecie za pomocą standardowych działań, układów, widżetów i pozostałych elementów platformy Androida. Następnie możesz użyć pakietu GDK do integracji z funkcjami Glass, np. do poleceń głosowych i kart w stylu Glass.

Po rozpoczęciu interakcji pojawiają się one u góry osi czasu. Gdy użytkownicy skończą immersję, wycofują się, przesuwając palcem w dół.

Kiedy ich używać

Immersyjne gry to świetne rozwiązanie w przypadku materiałów wymagających długotrwałej uwagi użytkownika. Dzięki nim możesz utworzyć specjalny interfejs, który pojawi się poza osią czasu, dzięki czemu użytkownicy będą mogli zagłębić się w proces dostosowywania.

Intersja jest też niezbędna, gdy trzeba zastąpić funkcje związane z osią czasu, np. przesuwanie do przodu i do tyłu oraz kontrolowanie czasu oczekiwania ekranu.

Warto używać immersów tylko wtedy, gdy tego potrzebujesz, ponieważ ich tworzenie wymaga więcej pracy i więcej czasu. Karty transmisji na żywo zapewniają wystarczającą liczbę funkcji i możliwości dla większości typów wyrobów Glassware.

Tworzenie immersji

Tworzenie interakcji odbywa się za pomocą standardowych aktywności na Androidzie, ale pamiętaj o tych kwestiach:

  • Zaprojektuj interfejs tak, aby ekran miał rozmiar 640 × 360 pikseli.
  • Projektuj interakcje, które mają sens w Google Glass, zamiast przenosić je z innych urządzeń z Androidem.
  • Nie korzystaj ze złożonych gestów dotykowych ani wzorców interfejsu.
  • Przesuwanie w dół zawsze wraca do stosu aktywności, dopóki użytkownicy nie osiągną osi czasu. Powinien działać podobnie jak przycisk Wstecz w Androidzie na smartfonach i tabletach.
  • Utwórz ikonę o wymiarach 50 × 50 pikseli i określ ją dla atrybutu android:icon elementu <activity> w pliku manifestu Androida. Określ również tekst dla: android:label. Dzięki temu pozycja głosowa lub element dotykowy powiązany z wieloma narzędziami może wyświetlać nazwę i ikonę Glass.
  • Określ android:immersive="true" dla elementu <activity>, aby skupiać uwagę po uśpieniu i wybudzeniu ekranu.

Tworzenie i wyświetlanie menu

Google Glass pokazuje prawidłowe style menu, jeśli stworzysz je za pomocą standardowych interfejsów API menu Androida w ramach aktywności.

Aby wyświetlić menu aktywności, utwórz zasoby menu, a następnie wyświetl je po wykonaniu działania, np. kliknięciu przez użytkownika.

Tworzenie zasobów menu

Tworzenie zasobów menu wygląda tak samo jak na platformie Androida, ale pamiętaj o tych wskazówkach:

  • Dla każdego elementu menu podaj ikonę elementu zamówienia o wymiarach 50 × 50 pikseli. Ikona menu musi być biała na przezroczystym tle. Pobierz ikony menu Glass do wykorzystania lub jako przykład.
  • Używaj krótkich wyrażeń opisujących czynności w zdaniu. Dobrze sprawdza się imperium (np. „Udostępnij” lub „Odpowiedz wszystkim”).

Aby rozpocząć, wykonaj te proste czynności:

<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>

Więcej informacji o tworzeniu menu Androida znajdziesz w temacie Menu w dokumentacji pakietu Android SDK.

Obsługa wywołań zwrotnych menu

Klasa Activity zawiera wywołania zwrotne, które są używane do tworzenia, wyświetlania i dezaktywacji menu:

  1. onCreateOptionsMenu() inicjuje zasób menu XML.
  2. onPrepareOptionsMenu() wyświetla lub ukrywa pozycje menu w razie potrzeby. Możesz na przykład wyświetlać różne pozycje w zależności od tego, co robią użytkownicy.
  3. onOptionsItemSelected() obsługuje wybór użytkownika.

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

Wyświetlanie menu

Jeśli chcesz, aby wyświetlić menu, w razie potrzeby zadzwoń do openOptionsMenu(), np. dotknij touchpada. Te przykłady wykrywają gest kliknięcia i wywołują openOptionsMenu().

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

Dostępne są różne metody pomocnicze, które pozwalają modyfikować wygląd i działanie menu. Więcej informacji znajdziesz na stronie MenuUtils.