Uygulamanız bir medya dosyası oynattığında kullanıcılar, fiziksel klavyede boşluk çubuğuna basarak oynatmayı duraklatıp devam ettirebilmelidir.
Tuş basma etkinliklerine yanıt verme
Jetpack Compose veya görünümlere dayalı uygulamalar, klavye tuşlarına benzer şekilde yanıt verir: Uygulama, tuşa basma etkinliklerini dinler, etkinlikleri filtreler ve boşluk çubuğu tuşuna basma gibi tuşa basma işlemlerine yanıt verir.
1. Klavye etkinliklerini dinleme
Oluşturma
Jetpack Compose ile tuş vuruşunu yöneten düzende onPreviewKeyEvent veya onKeyEvent değiştiricisini kullanın:
Column(modifier = Modifier.onPreviewKeyEvent { event ->
if (event.type == KeyEventType.KeyUp) {
...
}
...
})
veya
Column(modifier = Modifier.onKeyEvent { event ->
if (event.type == KeyEventType.KeyUp) {
...
}
...
})
Görüntüleme sayısı
Uygulamanızdaki bir etkinlikte onKeyUp() yöntemini geçersiz kılın:
Kotlin
override fun onKeyUp(keyCode: Int, event: KeyEvent?): Boolean { ... }
Java
@Override public boolean onKeyUp(int keyCode, KeyEvent event) { ... }
Bu yöntem, basılan bir tuş her bırakıldığında çağrılır. Bu nedenle, her tuş vuruşu için tam olarak bir kez tetiklenir.
2. Boşluk çubuğu tuşuna basma işlemlerini filtreleme
Oluşturma onPreviewKeyEvent ve onKeyEvent değiştirici yöntemleri veya onKeyUp() görünümü yönteminde, medya bileşenine doğru etkinliği göndermek için KeyEvent.KEYCODE_SPACE ile filtreleyin:
Oluşturma
Column(modifier = Modifier.onPreviewKeyEvent { event ->
if (event.type == KeyEventType.KeyUp && event.key == Key.Spacebar) {
...
}
...
})
veya
Column(modifier = Modifier.onKeyEvent { event ->
if (event.type == KeyEventType.KeyUp && event.key == Key.Spacebar) {
...
}
...
})
Görüntüleme sayısı
Kotlin
if (keyCode == KeyEvent.KEYCODE_SPACE) { togglePlayback() return true } return false
Java
if (keyCode == KeyEvent.KEYCODE_SPACE) { togglePlayback(); return true; } return false;
Önemli noktalar
KEYCODE_SPACE: Boşluk çubuğu için tuş kodu sabiti.
Oluşturma
onPreviewKeyEvent: Bir bileşenin, odaklandığında (veya alt öğelerinden biri odaklandığında) donanım tuşu etkinliklerini yakalamasını sağlayan değiştirici.onKeyEvent:onPreviewKeyEvent'e benzer. Bileşenin (veya alt öğelerinden birinin) odaklandığı durumlarda bileşenin donanım tuşu etkinliklerini yakalamasını sağlayan değiştiricidir.
Görüntüleme sayısı
onKeyUp(): Bir etkinlikteki bir görünüm (ör.TextView) tarafından işlenmeyen ve serbest bırakılan bir tuş için çağrılan etkinlik işleyici.
Sonuçlar
Uygulamanız artık boşluk çubuğuna basıldığında videoyu veya diğer medyaları duraklatıp devam ettirebilir.