Jetpack Compose Glimmer'da odaklanma

Uygun XR cihazlar
Bu kılavuz, bu tür XR cihazlar için deneyimler oluşturmanıza yardımcı olur.
Görüntüleme Gözlüğü

Tüm Jetpack Compose Glimmer bileşenleri, gözlüğün dokunmatik alanına dokunma veya dokunmatik alanda kaydırma gibi standart giriş yöntemleriyle çalışacak şekilde tasarlanmıştır. Ayrıca, ekran gözlüğündeki donanıma özgü daha düşük seviyeli giriş komutlarına da duyarlıdır. Jetpack Compose Glimmer bileşenleri, gerekli giriş etkinliklerini otomatik olarak işler.

Kaydırma ve sürükleme gibi standart işlemler için tutarlı bir deneyim sunmak üzere Jetpack Compose Glimmer bileşenlerini kullanın. Ancak özel bileşenler veya özel etkileşim davranışları için Modifier.draggable ya da Modifier.scrollable gibi mevcut Compose API'lerini kullanabilirsiniz.

İşaretçi girişi ve odak

Gözlüklerde, işaretçi girişi odağı etkileyebilir:

  • Dokunma: Öğeyi etkinleştirmek için doğrudan etkileşim. Kullanıcı bir öğeyle etkileşime girdiğinde odak bu öğeye taşınır.
  • Kaydırma: Gezinme ve kaydırma için kullanılır. İşlenmemiş kaydırma hareketleri otomatik olarak odak hareketlerine dönüştürülür. Böylece, doğrudan işaretçi girişi olmadan sorunsuz kullanıcı arayüzü gezinmesi sağlanır.

Kullanıcı uygulamanızda gezinirken odak hareketini ve sırasını değiştirme

Odak hareketleri

Kaydırılabilir bir kapsayıcıda, dokunmatik yüzeyde kaydırma işlemi yapıldığında odak sürekli olarak hareket eder. Düğme sırası gibi ayrı öğelerde her kaydırma, odağı birer öğe kaydırır.

Odak sırası

Jetpack Compose Glimmer, Jetpack Compose'da olduğu gibi tek boyutlu odak araması kullanır. Odak geçiş sırası hakkında daha fazla bilgi edinmek için Odak geçiş sırasını değiştirme başlıklı makaleyi inceleyin.

Başlangıçta odaklanan öğeyi değiştirmek için üst düzey bir Modifier.focusGroup() ekleyip özel bir onEnter focusProperty belirtebilirsiniz:

Modifier.focusProperties {
    onEnter = {
        initialFocus.requestFocus()
        // Prevent focus from exiting the group
        cancelFocusChange()
    }
}
.focusGroup()

Kaydırma kapsayıcıları

En iyi kullanıcı deneyimi için listeler gibi kaydırma kapsayıcıları, ekrandaki tek büyük bileşen olmalıdır. Gezinme karışıklığını önlemek ve sorunsuz, tahmin edilebilir odak hareketini desteklemek için kaydırılabilir bir listeyi doğrudan diğer etkileşimli öğelerin (ör. düğmeler) üstüne veya altına yerleştirmeyin.

Varsayılan odaklanma durumları

Jetpack Compose Glimmer, yüzeyler, kartlar ve liste öğeleri dahil olmak üzere etkileşimli bileşenlerinde varsayılan odak durumlarını uygular. Böylece, kullanıcı etkileşimi sırasında tutarlı ve net görsel geri bildirim sağlanır.

Şekil 1. Jetpack Compose Glimmer'da, ana hat tabanlı görsel geri bildirim kullanılarak ayırt edilen üç odak durumu.
  • Varsayılan: Düğmenin arka plan rengi GlimmerTheme.colors.surface öğesinden alınır. Ana içerik, bu yüzeyin içerik rengini hesaplar.

  • Odaklanılmış: Odaklanmayı belirtmek için kenarlık genişliği artırılır.

  • Odaklanılmış + Basılmış: Arka plan, seçili durumunu belirtmek için opaklığı artırılmış GlimmerTheme.colors.surface olarak ayarlanır.