Basılan bir tuşa her basıldığında yöntem çağrılır. Bu nedenle, her tuş vuruşu için tam olarak bir kez tetiklenir.
2. Boşluk tuşuna basma işlemlerini filtreleme
Doğru etkinliği medya bileşeninize göndermek için Oluştur onPreviewKeyEvent ve onKeyEvent değiştirici yöntemlerinde veya görünümler onKeyUp() yönteminde KeyEvent.KEYCODE_SPACE için filtreleme yapın:
onPreviewKeyEvent: Bir bileşenin (veya alt öğelerinden birinin) odaklandığında donanım tuş etkinliklerini durdurmasını sağlayan değiştirici.
onKeyEvent: onPreviewKeyEvent'a benzer şekilde, bileşen (veya alt öğelerinden biri) odaklandığında bileşenin donanım tuş etkinliklerini durdurmasını sağlayan değiştirici.
Görüntüleme sayısı
onKeyUp(): Bir anahtar serbest bırakıldığında ve bir etkinlik içindeki bir görünüm (ör. TextView) tarafından işlenmediğinde çağrılan etkinlik işleyici.
Sonuçlar
Uygulamanız artık bir videoyu veya başka bir medyayı duraklatmak ve devam ettirmek için Boşluk tuşu tuşlarına basmaya yanıt verebilir.
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-27 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2025-07-27 UTC."],[],[],null,["# Pause and resume media playback with external keyboard Spacebar\n\nWhenever your app plays a media file, users should be able to pause and resume\nplayback by pressing the \u003ckbd\u003eSpacebar\u003c/kbd\u003e on a physical keyboard.\n\nRespond to keypress events\n--------------------------\n\nApps based on Jetpack Compose or views respond to keyboard key presses in\nsimilar ways: the app listens for keypress events, filters the events, and\nresponds to keypresses such as a \u003ckbd\u003eSpacebar\u003c/kbd\u003e keypress.\n\n### 1. Listen for keyboard events\n\n**Compose**\n\nWith Jetpack Compose, use either the [`onPreviewKeyEvent`](/reference/kotlin/androidx/compose/ui/Modifier#(androidx.compose.ui.Modifier).onPreviewKeyEvent(kotlin.Function1)) or the\n[`onKeyEvent`](/reference/kotlin/androidx/compose/ui/Modifier#(androidx.compose.ui.Modifier).onKeyEvent(kotlin.Function1)) modifier within the layout that manages the keystroke: \n\n Column(modifier = Modifier.onPreviewKeyEvent { event -\u003e\n if (event.type == KeyEventType.KeyUp) {\n ...\n }\n ...\n })\n\nor \n\n Column(modifier = Modifier.onKeyEvent { event -\u003e\n if (event.type == KeyEventType.KeyUp) {\n ...\n }\n ...\n })\n\n| **Note:** The main difference between the two modifiers is where the event is dispatched if the modifier does not consume it: \n|\n| - `onPreviewKeyEvent` --- Dispatches the event to its first child\n| - `onKeyEvent` --- Dispatches the event to the composable's parent\n\n**Views**\n\nIn an activity in your app, override the [`onKeyUp()`](/reference/kotlin/android/app/Activity#onkeyup) method: \n\n### Kotlin\n\n```kotlin\noverride fun onKeyUp(keyCode: Int, event: KeyEvent?): Boolean {\n ...\n}\n```\n\n### Java\n\n```java\n@Override\npublic boolean onKeyUp(int keyCode, KeyEvent event) {\n ...\n}\n```\n\nThe method is invoked every time a pressed key is released, so it fires exactly\nonce for every keystroke.\n| **Caution:** Do not use the [`onKeyDown()`](/reference/kotlin/android/app/Activity#onkeydown) method, which fires repeatedly as long as the key is pressed.\n\n### 2. Filter \u003ckbd\u003eSpacebar\u003c/kbd\u003e presses\n\nInside the Compose `onPreviewKeyEvent` and `onKeyEvent` modifier methods or\nviews `onKeyUp()` method, filter for [`KeyEvent.KEYCODE_SPACE`](/reference/kotlin/android/view/KeyEvent#keycode_space) to send the\ncorrect event to your media component:\n\n**Compose** \n\n Column(modifier = Modifier.onPreviewKeyEvent { event -\u003e\n if (event.type == KeyEventType.KeyUp && event.key == Key.Spacebar) {\n ...\n }\n ...\n })\n\nor \n\n Column(modifier = Modifier.onKeyEvent { event -\u003e\n if (event.type == KeyEventType.KeyUp && event.key == Key.Spacebar) {\n ...\n }\n ...\n })\n\n**Views** \n\n### Kotlin\n\n```kotlin\nif (keyCode == KeyEvent.KEYCODE_SPACE) {\n togglePlayback()\n return true\n}\nreturn false\n```\n\n### Java\n\n```java\nif (keyCode == KeyEvent.KEYCODE_SPACE) {\n togglePlayback();\n return true;\n}\nreturn false;\n```\n| **Note:** Return `true` from the `onKeyUp()` method if your code manages the event and you don't want the event to propagate any further. Return `false` if you want to allow propagation of the event so that other components can manage the event.\n\nKey points\n----------\n\n- [`KEYCODE_SPACE`](/reference/kotlin/android/view/KeyEvent#keycode_space): Key code constant for the \u003ckbd\u003eSpacebar\u003c/kbd\u003e.\n\n**Compose**\n\n- [`onPreviewKeyEvent`](/reference/kotlin/androidx/compose/ui/Modifier#(androidx.compose.ui.Modifier).onPreviewKeyEvent(kotlin.Function1)): Modifier that enables a component to intercept hardware key events when it (or one of its children) is focused.\n- [`onKeyEvent`](/reference/kotlin/androidx/compose/ui/Modifier#(androidx.compose.ui.Modifier).onKeyEvent(kotlin.Function1)): Similar to `onPreviewKeyEvent`, modifier that enables a component to intercept hardware key events when the component (or one of its children) is focused.\n\n**Views**\n\n- [`onKeyUp()`](/reference/kotlin/android/app/Activity#onkeyup): Event handler called when a key is released and not handled by a view (such as [`TextView`](/reference/kotlin/android/widget/TextView)) within an activity.\n\n### Results\n\nYour app can now respond to \u003ckbd\u003eSpacebar\u003c/kbd\u003e key presses to pause and resume\na video or other media."]]