Celup

Immersion memberi Anda lebih banyak cara untuk menggunakan input pengguna dan membuat antarmuka pengguna. Dengan begitu, Anda dapat membuat pengalaman khusus, tetapi melibatkan sebagian besar upaya.

Jika ini pertama kalinya Anda mengembangkan aplikasi untuk Glass, baca Panduan imersif. Dokumen tersebut membahas cara membuat Glassware lengkap dengan imersif, mengikuti praktik terbaik desain kami.

Cara kerjanya

Immersion ditampilkan di luar linimasa, yang memberi Anda kontrol penuh atas pengalaman pengguna sejak Glass meluncurkan imersif.

Anda akan membuat pengalaman imersif dengan aktivitas, tata letak, widget UI, dan seluruh platform Android standar. Kemudian, Anda menggunakan GDK untuk berintegrasi ke dalam pengalaman Glass seperti mengintegrasikan perintah suara, kartu bergaya Glass, dan lainnya.

Saat dimulai, imersif akan muncul di bagian atas linimasa. Setelah selesai menyelami, pengguna akan kembali dengan menggeser ke bawah.

Kapan menggunakannya

Celupan sangat cocok untuk pengalaman yang membutuhkan perhatian pengguna dalam waktu lama. UI ini memungkinkan Anda membuat UI khusus yang muncul di luar linimasa, sehingga pengguna dapat mempelajari pengalaman yang disesuaikan lebih lanjut.

Immersion juga diperlukan ketika Anda perlu menimpa fungsionalitas khusus linimasa seperti geser ke depan dan ke belakang serta mengontrol waktu tunggu layar.

Namun, gunakan imersif hanya jika harus, karena memerlukan lebih banyak pekerjaan untuk mem-build dan lebih banyak waktu untuk mendesain dengan baik. Kartu live menawarkan cukup fitur dan kemampuan untuk sebagian besar jenis Glassware.

Menciptakan pengalaman imersif

Anda membuat imersif menggunakan aktivitas Android standar, tetapi perhatikan hal-hal berikut saat menulis aktivitas untuk Glass:

  • Desain UI Anda untuk layar 640 × 360 piksel.
  • Desain interaksi yang masuk akal di Glass, dan bukan melakukan porting pada aktivitas dari perangkat Android lainnya.
  • Jangan mengandalkan gestur sentuh atau pola UI yang kompleks.
  • Fitur geser selalu kembali ke tumpukan aktivitas sampai pengguna mencapai linimasa. Fungsinya sama seperti tombol kembali di smartphone dan tablet.
  • Buat ikon 50 × 50 piksel dan tentukan untuk atribut android:icon elemen <activity> di manifes Android Anda. Juga tentukan teks untuk android:label. Hal ini memungkinkan item menu suara atau sentuh yang dikaitkan dengan beberapa Glassware untuk menampilkan nama dan ikon Glassware sebagai opsi.
  • Tentukan android:immersive="true" untuk elemen <activity> agar fokus imersif setelah layar tidur dan terbangun.

Membuat dan menampilkan menu

Glass menampilkan gaya menu yang benar jika Anda mem-build-nya dengan API menu Android standar di dalam aktivitas.

Untuk menampilkan menu suatu aktivitas, buat resource menu, lalu tampilkan menu tersebut pada tindakan pengguna, seperti ketukan saat aktivitas Anda memiliki fokus.

Membuat resource menu

Membuat resource menu sama seperti di platform Android, tetapi ikuti panduan berikut:

  • Untuk setiap item menu, berikan ikon item menu 50 × 50 piksel. Ikon menu harus berwarna putih dengan latar belakang transparan. Download ikon menu Glass untuk digunakan atau sebagai contoh.
  • Gunakan frasa singkat yang menjelaskan tindakan dan dalam kapitalisasi kalimat. Kata kerja imperatif berfungsi dengan baik (misalnya, "Bagikan" atau "Balas semua").

Berikut ini cara 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 cara membuat menu Android, lihat topik Menu dalam dokumentasi Android SDK.

Menangani callback menu

Class Activity berisi callback yang Anda ganti untuk menangani pembuatan, tampilan, dan pembongkaran menu:

  1. onCreateOptionsMenu() memperluas resource menu XML.
  2. onPrepareOptionsMenu() menampilkan atau menyembunyikan item menu jika diperlukan. Misalnya, Anda dapat menampilkan berbagai item menu berdasarkan aktivitas 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 ketukan di 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 mengubah tampilan dan perilaku menu. Lihat MenuUtils untuk mengetahui informasi selengkapnya.