Imersi memberi Anda lebih banyak cara untuk menggunakan input pengguna dan membuat antarmuka. Hal ini memungkinkan Anda membuat pengalaman yang paling khusus, tetapi melibatkan pekerjaan paling banyak.
Jika ini adalah pertama kalinya Anda mengembangkan aplikasi untuk Glass, baca Panduan imersif sebagai gantinya. Dokumen itu membahas cara membuat Glassware yang lengkap secara imersif, dengan mengikuti praktik terbaik desain kami.
Cara kerjanya
Tampilan imersif di luar linimasa, memberi Anda kontrol penuh pengalaman pengguna sejak Glass meluncurkan imersi.
Anda dapat membanjiri pengguna dengan aktivitas Android standar, tata letak, widget UI, dan platform Android lainnya. Kemudian, Anda menggunakan GDK untuk mengintegrasikan pengalaman Glass seperti mengintegrasikan perintah suara, kartu bergaya Glass, dan lain-lain.
Saat imersi dimulai, imersi akan muncul di bagian atas linimasa. Saat pengguna selesai menikmatinya, mereka kembali dengan menggeser ke bawah.
Kapan menggunakannya
Imersi sangat bagus untuk pengalaman yang membutuhkan perhatian pengguna dalam waktu lama. Mereka memungkinkan Anda membuat UI khusus yang muncul di luar linimasa, jadi pengguna dapat mempelajari lebih dalam pengalaman yang disesuaikan.
Immersi juga diperlukan saat Anda perlu menimpa sesuai linimasa fungsionalitas seperti geser maju dan mundur serta mengontrol waktu tunggu layar habis.
Namun, gunakan imersi hanya jika Anda perlu, karena membutuhkan lebih banyak upaya untuk dibangun dan lebih banyak waktu untuk mendesain dengan baik. Kartu live menawarkan cukup fitur dan kemampuan untuk sebagian besar jenis Glassware.
Menciptakan pengalaman yang imersif
Anda menciptakan pengalaman imersif menggunakan Aktivitas Android, tetapi pertahankan perhatikan hal-hal berikut saat menulis aktivitas untuk Glass:
- Desain UI Anda untuk layar berukuran 640×360 piksel.
- Mendesain interaksi yang masuk akal di Glass, bukan porting dibandingkan aktivitas dari perangkat Android lain.
- Jangan mengandalkan gestur sentuh atau pola UI yang kompleks.
- Menggeser ke bawah akan selalu kembali ke tumpukan aktivitas hingga pengguna mencapai linimasa. Seharusnya berfungsi seperti tombol kembali Android di {i>smartphone<i} dan tablet.
- Buat ikon berukuran 50 × 50 piksel dan tentukan untuk atribut
android:icon
elemen<activity>
di manifes Android Anda. Tentukan juga teks untukandroid:label
. Tindakan ini memungkinkan suara atau item menu sentuh yang dikaitkan dengan beberapa Glassware untuk menampilkan nama dan ikon Gelas Anda sebagai pilihan. - Tentukan
android:immersive="true"
untuk elemen<activity>
agar memberikan fokus imersif setelah layar tidur dan bangun.
Membuat dan menampilkan menu
Glass menampilkan gaya yang benar untuk menu, jika dibuat dengan menu Android standar API di dalam aktivitas.
Untuk menampilkan menu suatu aktivitas, buat sumber daya menu, lalu menampilkannya pada tindakan pengguna, seperti ketukan saat aktivitas Anda memiliki fokus.
Membuat resource menu
Membuat sumber daya menu sama seperti pada platform Android, tetapi ikuti langkah-langkah panduan:
- Untuk setiap item menu, sediakan ikon item menu berukuran 50 × 50 piksel. Menu ikon harus berwarna putih dengan latar belakang transparan. Mendownload ikon menu Glass untuk digunakan atau sebagai contoh.
- Gunakan frasa singkat yang menjelaskan tindakan dan menggunakan kapitalisasi kalimat. Kata kerja imperatif bisa digunakan dengan baik (misalnya, "Bagikan" atau "Balas ke semua").
Berikut langkah-langkah sederhana untuk memulai:
<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>
Untuk informasi selengkapnya tentang membuat menu Android, lihat Topik Menu di Dokumentasi Android SDK.
Menangani callback menu
Activity
berisi callback yang Anda ganti untuk menangani pembuatan, tampilan, dan pemutusan menu:
onCreateOptionsMenu()
meng-inflate sumber daya menu XML.onPrepareOptionsMenu()
menampilkan atau menyembunyikan item menu jika diperlukan. Misalnya, Anda dapat menampilkan berbagai item menu berdasarkan apa yang dilakukan pengguna.onOptionsItemSelected()
menangani pemilihan pengguna.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); } } }
Menampilkan menu
Untuk menampilkan menu, panggil
openOptionsMenu()
jika diperlukan, seperti mengetuk touchpad. Contoh berikut mendeteksi
gestur ketuk pada aktivitas, lalu memanggil 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);
}
}
Utilitas menu
Beberapa metode bantuan tersedia untuk memodifikasi tampilan dan perilaku menu. Lihat MenuUtils
untuk mengetahui informasi selengkapnya.