Celup

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 untuk android: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:

  1. onCreateOptionsMenu() meng-inflate sumber daya menu XML.
  2. onPrepareOptionsMenu() menampilkan atau menyembunyikan item menu jika diperlukan. Misalnya, Anda dapat menampilkan berbagai item menu berdasarkan apa yang dilakukan pengguna.
  3. 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);
    }
}

Beberapa metode bantuan tersedia untuk memodifikasi tampilan dan perilaku menu. Lihat MenuUtils untuk mengetahui informasi selengkapnya.