বড় স্ক্রিন অপ্টিমাইজেশনের মধ্যে এক্সটার্নাল কীবোর্ড ইনপুট হ্যান্ডেল করার ক্ষমতা অন্তর্ভুক্ত থাকে। যেমন, ভিডিও ও অন্যান্য মিডিয়া পজ বা আবার চালানো শুরু করার জন্য স্পেসবার প্রেস করার মতো অ্যাকশন। এটি বিশেষ করে ট্যাবলেটের জন্য উপযোগী, যেগুলি প্রায়ই এক্সটার্নাল কীবোর্ডের সাথে কানেক্ট করা হয় এবং Chromebook-এর জন্য, যেগুলি সাধারণত এক্সটার্নাল কীবোর্ডের সাথে আসে কিন্তু ট্যাবলেট মোডে ব্যবহার করা যায়।
উইন্ডোতে শুধু মিডিয়া থাকলে (যেমন, ফুল-স্ক্রিন ভিডিও প্লেব্যাক), Jetpack Compose-এ স্ক্রিন লেভেলে কীপ্রেস ইভেন্টে প্রতিক্রিয়া জানান।
পেশাদার পদ্ধতি
আপনার অ্যাপ যখনই কোনও মিডিয়া ফাইল চালাবে, ব্যবহারকারীকে ফিজিক্যাল কীবোর্ডে Spacebar টিপে প্লেব্যাক পজ ও আবার চালু করতে দিতে হবে।
উপাদান
KEYCODE_SPACE: Spacebar-এর জন্য কী কোড কনস্ট্যান্ট।onPreviewKeyEvent:Modifierযা কোনও কম্পোনেন্টকে হার্ডওয়্যার কী ইভেন্ট ইন্টারসেপ্ট করতে দেয় যখন এটি (বা এর কোনও চাইল্ড) ফোকাস করা হয়।onKeyEvent:onPreviewKeyEvent-এর মতো, এটি (বা এর কোনও চাইল্ড) ফোকাস করা হলে হার্ডওয়্যার কী ইভেন্ট ইন্টারসেপ্ট করার জন্য এইModifierএকটি কম্পোনেন্টকে সক্ষম করে।
ধাপ
Jetpack Compose-এ কীবোর্ডের কী প্রেসের উত্তর দিতে, আপনার অ্যাপকে অবশ্যই কী প্রেস ইভেন্ট শুনতে হবে, ইভেন্ট ফিল্টার করতে হবে এবং বেছে নেওয়া কী প্রেসের উত্তর দিতে হবে, যেমন স্পেসবার কী প্রেস।
১. কীবোর্ড ইভেন্ট শোনা
Jetpack Compose-এর মাধ্যমে, আপনি কীস্ট্রোক ম্যানেজ করে এমন কম্পোনেন্টের মধ্যে onPreviewKeyEvent অথবা
onKeyEvent মডিফায়ার ব্যবহার করতে পারবেন।
দুটি মডিফায়ারের মধ্যে মূল পার্থক্য হল, মডিফায়ারটি ইভেন্টটি গ্রহণ না করলে, ইভেন্টটি কোথায় ডিসপ্যাচ করা হয়:
onPreviewKeyEvent— এর প্রথম চাইল্ডে ইভেন্ট ডিসপ্যাচ করে।onKeyEvent— কম্পোজ করার উপযুক্ত এলিমেন্টের পেরেন্টে ইভেন্ট ডিসপ্যাচ করে।
২. স্পেসবার প্রেস করা ফিল্টার ও হ্যান্ডেল করা
onPreviewKeyEvent বা onKeyEvent মডিফায়ার ল্যাম্বডার মধ্যে, কী
ইভেন্টের জন্য ফিল্টার করুন যেখানে কী রিলিজ (KeyEventType.KeyUp) স্পেসবার
(Key.Spacebar)-এর সাথে ম্যাচ করে।
আপনার কোড ইভেন্ট ম্যানেজ করলে এবং আপনি না চাইলে যে ইভেন্টটি
আরও ছড়িয়ে পড়ুক, তাহলে true রিটার্ন করুন। ইভেন্ট ম্যানেজ করার জন্য অন্যান্য কম্পোনেন্টকে অনুমতি দিতে false রিটার্ন করুন।
বিকল্প ক:
onPreviewKeyEventব্যবহার করেColumn( modifier = Modifier.onPreviewKeyEvent { event -> if (event.type == KeyEventType.KeyUp && event.key == Key.Spacebar) { // Handle spacebar keypress to pause/resume playback. true } else { false } } ) { // Content }
বিকল্প খ:
onKeyEventব্যবহার করেColumn( modifier = Modifier.onKeyEvent { event -> if (event.type == KeyEventType.KeyUp && event.key == Key.Spacebar) { // Handle spacebar keypress to pause/resume playback. true } else { false } } ) { // Content }
ফলাফল
আপনার অ্যাপ এখন স্পেসবার কী প্রেস করার মাধ্যমে ভিডিও বা অন্যান্য মিডিয়া পজ ও আবার চালু করার জন্য প্রতিক্রিয়া জানাতে পারবে।
অতিরিক্ত রিসোর্স
কীবোর্ড ইভেন্ট ও সেগুলি কীভাবে ম্যানেজ করতে হয় সেই সম্পর্কে আরও জানতে, কীবোর্ড ইনপুট ম্যানেজ করা দেখুন।