যখনই আপনার অ্যাপ কোনো মিডিয়া ফাইল প্লে করবে, ব্যবহারকারীরা যেন ফিজিক্যাল কিবোর্ডের স্পেসবার চেপে প্লেব্যাকটি পজ ও রিজুম করতে পারেন।
কীপ্রেস ইভেন্টগুলিতে সাড়া দিন
Jetpack Compose বা ভিউ-এর উপর ভিত্তি করে তৈরি অ্যাপগুলো কিবোর্ডের কী চাপার প্রতিক্রিয়ায় একই রকম পদ্ধতি অনুসরণ করে: অ্যাপটি কী-প্রেস ইভেন্টগুলো শোনে, ইভেন্টগুলো ফিল্টার করে এবং স্পেসবার কী-প্রেসের মতো নির্দেশে সাড়া দেয়।
১. কিবোর্ড ইভেন্টের জন্য শুনুন
রচনা করুন
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() মেথডটি ওভাররাইড করুন:
কোটলিন
override fun onKeyUp(keyCode: Int, event: KeyEvent?): Boolean { ... }
জাভা
@Override public boolean onKeyUp(int keyCode, KeyEvent event) { ... }
প্রতিবার চাপ দেওয়া কোনো কী ছেড়ে দিলে এই মেথডটি কল করা হয়, তাই প্রতিটি কীস্ট্রোকের জন্য এটি ঠিক একবার সক্রিয় হয়।
২. ফিল্টার স্পেসবার চাপ
Compose-এর 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) {
...
}
...
})
মতামত
কোটলিন
if (keyCode == KeyEvent.KEYCODE_SPACE) { togglePlayback() return true } return false
জাভা
if (keyCode == KeyEvent.KEYCODE_SPACE) { togglePlayback(); return true; } return false;
মূল বিষয়গুলো
-
KEYCODE_SPACE: স্পেসবারের জন্য ধ্রুবক কী কোড।
রচনা করুন
-
onPreviewKeyEvent: এমন একটি মডিফায়ার যা কোনো কম্পোনেন্টকে (বা তার কোনো চাইল্ড কম্পোনেন্টকে) ফোকাস করা হলে হার্ডওয়্যার কী ইভেন্ট ইন্টারসেপ্ট করতে সক্ষম করে। -
onKeyEvent:onPreviewKeyEventএর অনুরূপ একটি মডিফায়ার, যা কোনো কম্পোনেন্টকে (বা তার কোনো চাইল্ডকে) ফোকাস করা হলে হার্ডওয়্যার কী ইভেন্ট ইন্টারসেপ্ট করতে সক্ষম করে।
মতামত
-
onKeyUp(): কোনো অ্যাক্টিভিটির অন্তর্গত ভিউ (যেমনTextView) দ্বারা নিয়ন্ত্রিত না হয়ে কোনো কী ছেড়ে দেওয়া হলে এই ইভেন্ট হ্যান্ডলারটি কল করা হয়।
ফলাফল
আপনার অ্যাপ এখন স্পেসবার কী চাপলে ভিডিও বা অন্যান্য মিডিয়া পজ এবং রিজুম করতে পারবে।