El blenderi

Yoğunlaştırma, kullanıcı girişini tüketmek ve kullanıcı arayüzleri oluşturmak için daha fazla yöntem sunar. Bu sayede en özel deneyimi oluşturabilirsiniz ancak en fazla işi gerektirir.

Glass için ilk defa geliştirme yapıyorsanız bunun yerine Sürükleme kılavuzunu okuyun. Bu dokümanda, tasarımla ilgili en iyi uygulamaları izleyerek, ilgi çekici bir cam eşyanın nasıl oluşturulacağı açıklanmaktadır.

İşleyiş şekli

Yoğunluklar, zaman çizelgesinin dışında görüntülenir. Bu sayede, Glass'ı batırdığınız andan itibaren kullanıcı deneyimi üzerinde tam kontrol sahibi olabilirsiniz.

Standart Android etkinlikleri, düzenli düzenler, kullanıcı arayüzü widget'ları ve Android platformunun geri kalanıyla yoğun bir deneyim oluşturuyorsunuz. Ardından, sesli komutları, Glass stilindeki kartları ve daha fazlasını entegre etmek için Glass deneyimini entegre etmek üzere GDK'yı kullanırsınız.

Yoğunlaşmalar zaman çizelgesinin üstünde görünür. Yoğunlaşmayı bitiren kullanıcılar aşağı kaydırarak geri dönerler.

Ne zaman kullanılır?

Yoğunlaşma, uzun süre kullanıcının dikkatini çeken deneyimler için idealdir. Zaman çizelgesinin dışında görünen özel bir kullanıcı arayüzü oluşturmanızı sağlar. Böylece kullanıcılar, özelleştirilmiş bir deneyim hakkında daha ayrıntılı bilgi edinebilir.

İleri ve geri kaydırma ve ekran zaman aşımını kontrol etme gibi zaman çizelgesine özgü işlevlerin üzerine yazmanız gerektiğinde de ayrıntılı işlemler gereklidir.

Ancak, bunları sizin için mutlaka yapın. Zira bunları oluşturmak için daha fazla çalışma ve iyi bir tasarım için daha fazla zaman gerekir. Canlı kartlar, çoğu Glassware türü için yeterli sayıda özellik ve işlev sunar.

Yoğunlaşma

Standart Android etkinliklerini kullanarak yoğun içerik oluşturabilirsiniz ancak Glass için etkinlik yazarken aşağıdakileri aklınızda bulundurun:

  • Kullanıcı arayüzlerinizi 640 × 360 piksel ekran için tasarlayın.
  • Diğer Android cihazlardaki etkinlikleri taşımak yerine Glass'te anlamlı olacak etkileşimler tasarlayın.
  • Karmaşık dokunma hareketlerine veya kullanıcı arayüzü kalıplarına güvenmeyin.
  • Sayfayı aşağı kaydırdığınızda, kullanıcılar zaman çizelgesine ulaşana kadar her zaman etkinlik yığınına geri döner. Akıllı telefonlarda ve tabletlerde Android geri düğmesine benzer şekilde çalışmalıdır.
  • 50 × 50 piksel boyutunda bir simge oluşturun ve bunu Android manifestinizdeki <activity> öğesinin android:icon özelliği için belirtin. android:label için de metin belirt. Bu, birden fazla Glassware ile ilişkili bir sesli veya dokunmatik menü öğesinin, Glassware'in adını ve simgesini seçenek olarak göstermesine olanak tanır.
  • Bir ekran uykuya geçip uyandıktan sonra yoğunlaşmaya odaklanmak için <activity> öğeniz için android:immersive="true" değerini belirtin.

Menü oluşturma ve görüntüleme

Glass, bir etkinliğin içindeki standart Android menüsü API'leriyle oluşturulan menüler için doğru stili gösterir.

Bir aktivite menüsünü görüntülemek için menü kaynakları oluşturun ve ardından, etkinliğinizin odağına dokunma gibi bir kullanıcı işleminde görüntüleyin.

Menü kaynakları oluşturma

Menü kaynakları oluşturmak Android platformundakiyle aynıdır ancak aşağıdaki yönergeleri izleyin:

  • Her menü öğesi için 50 × 50 piksel boyutunda bir menü öğesi simgesi sağlayın. Şeffaf arka plandaki menü simgesi beyaz renkte olmalıdır. Örnek olarak kullanmak veya örnek olarak cam menü simgelerini indirebilirsiniz.
  • İşlemi açıklayan ve cümle düzeninde olan kısa bir ifade kullanın. "Zorunlu" fiilinin işleyiş şekli iyidir (ör. "Paylaş" veya "Tümünü yanıtla").

İşte başlamanıza yardımcı olacak basit bir örnek:

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

Android menüsü oluşturma hakkında daha fazla bilgi edinmek için Android SDK dokümanlarındaki Menü konusuna göz atın.

Menü geri çağırmalarını işleme

Activity sınıfı, menü oluşturma, görüntüleme ve yıkım işlemlerini yönetmek için geçersiz kıldığınız geri çağırmalar içerir:

  1. onCreateOptionsMenu() XML menüsü kaynağını şişirir.
  2. onPrepareOptionsMenu() gerekirse menü öğelerini gösterir veya gizler. Örneğin, kullanıcıların yaptıklarına bağlı olarak farklı menü öğeleri gösterebilirsiniz.
  3. Kullanıcı seçimini onOptionsItemSelected() yönetir.

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

Menü gösteriliyor

Menüyü görüntülemek için, gerektiğinde dokunmatik alana dokunma gibi openOptionsMenu() yöntemini çağırın. Aşağıdaki örneklerde bir etkinlikte dokunma hareketi algılanıp openOptionsMenu() çağrılır.

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

Menülerin görünümünü ve davranışını değiştirmek için bazı yardımcı yöntemler kullanılabilir. Daha fazla bilgi için MenuUtils konusuna bakın.