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:
onCreateOptionsMenu()
inicjuje zasób menu XML.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.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);
}
}
Narzędzia menu
Dostępne są różne metody pomocnicze, które pozwalają modyfikować wygląd i działanie menu. Więcej informacji znajdziesz na stronie MenuUtils
.