หยุดเล่นสื่อชั่วคราวและเล่นต่อด้วยแป้นเว้นวรรคของแป้นพิมพ์ภายนอก

เมื่อใดก็ตามที่แอปเล่นไฟล์สื่อ ผู้ใช้ควรหยุดชั่วคราวและเล่นต่อได้โดยกดSpacebar บนแป้นพิมพ์จริง

ตอบสนองต่อเหตุการณ์การกดแป้นพิมพ์

แอปที่ใช้ Jetpack Compose หรือมุมมองจะตอบสนองต่อการกดแป้นพิมพ์ในลักษณะที่คล้ายกัน โดยแอปจะคอยฟังเหตุการณ์การกดแป้นพิมพ์ กรองเหตุการณ์ และตอบสนองต่อการกดแป้นพิมพ์ เช่น การกดSpacebar

1. รอรับเหตุการณ์แป้นพิมพ์

เขียน

เมื่อใช้ Jetpack Compose ให้ใช้ตัวแก้ไข onPreviewKeyEvent หรือ onKeyEvent ภายในเลย์เอาต์ที่จัดการการกดแป้นพิมพ์

Column(modifier = Modifier.onPreviewKeyEvent { event ->
    if (event.type == KeyEventType.KeyUp) {
        ...
    }
    ...
})

หรือ

Column(modifier = Modifier.onKeyEvent { event ->
    if (event.type == KeyEventType.KeyUp) {
        ...
    }
    ...
})

ยอดดู

ลบล้างเมธอด onKeyUp() ในกิจกรรมในแอป โดยทำดังนี้

Kotlin

override fun onKeyUp(keyCode: Int, event: KeyEvent?): Boolean {
    ...
}

Java

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
    ...
}

ระบบจะเรียกใช้เมธอดทุกครั้งที่ปล่อยแป้นที่กดอยู่ ดังนั้นเมธอดจะทำงานเพียงครั้งเดียวสําหรับการกดแป้นแต่ละครั้ง

2. กรองการกดแป้นเว้นวรรค

ในเมธอดตัวแก้ไข onPreviewKeyEvent และ onKeyEvent หรือเมธอดมุมมอง onKeyUp() ให้กรองหา KeyEvent.KEYCODE_SPACE เพื่อส่งเหตุการณ์ที่ถูกต้องไปยังคอมโพเนนต์สื่อ

เขียน

Column(modifier = Modifier.onPreviewKeyEvent { event ->
    if (event.type == KeyEventType.KeyUp && event.key == Key.Spacebar) {
        ...
    }
    ...
})

หรือ

Column(modifier = Modifier.onKeyEvent { event ->
    if (event.type == KeyEventType.KeyUp && event.key == Key.Spacebar) {
        ...
    }
    ...
})

ยอดดู

Kotlin

if (keyCode == KeyEvent.KEYCODE_SPACE) {
    togglePlayback()
    return true
}
return false

Java

if (keyCode == KeyEvent.KEYCODE_SPACE) {
    togglePlayback();
    return true;
}
return false;

ข้อมูลสำคัญ

  • KEYCODE_SPACE: ค่าคงที่ของรหัสคีย์สำหรับแป้นเว้นวรรค

เขียน

  • onPreviewKeyEvent: ตัวแก้ไขที่ช่วยให้คอมโพเนนต์สามารถขัดจังหวะเหตุการณ์สำคัญบนแป้นพิมพ์ของฮาร์ดแวร์ได้เมื่อโฟกัสที่คอมโพเนนต์นั้น (หรือองค์ประกอบย่อยรายการใดรายการหนึ่ง)
  • onKeyEvent: คล้ายกับ onPreviewKeyEvent ตัวแก้ไขที่ช่วยให้คอมโพเนนต์สามารถขัดจังหวะเหตุการณ์สำคัญบนฮาร์ดแวร์ได้เมื่อมีโฟกัสที่คอมโพเนนต์ (หรือคอมโพเนนต์ย่อยรายการใดรายการหนึ่ง)

ยอดดู

  • onKeyUp(): ตัวแฮนเดิลเหตุการณ์ที่เรียกใช้เมื่อมีการปล่อยแป้นและไม่มีการจัดการโดยมุมมอง (เช่น TextView) ภายในกิจกรรม

ผลลัพธ์

ตอนนี้แอปของคุณสามารถตอบสนองต่อการกดSpacebar เพื่อหยุดชั่วคราวและเล่นวิดีโอหรือสื่ออื่นๆ ต่อได้