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>
öğesininandroid: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çinandroid: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:
onCreateOptionsMenu()
XML menüsü kaynağını şişirir.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.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ü yardımcı programları
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.