অ্যান্ড্রয়েড টিভিতে ডি-প্যাড নেভিগেশন
অ্যান্ড্রয়েড টিভির রিমোট কন্ট্রোলে একটি ডি-প্যাড কন্ট্রোল আছে যা আপনার Activity dispatchKeyEvent(KeyEvent) ইভেন্টে কী ইভেন্ট হিসেবে কমান্ড পাঠায়। এগুলোকে PlayerView এর কাছে ডেলিগেট করতে হবে:
কোটলিন
override fun dispatchKeyEvent(event: KeyEvent?): Boolean { return playerView.dispatchKeyEvent(event!!) || super.dispatchKeyEvent(event) }
জাভা
@Override public boolean dispatchKeyEvent(KeyEvent event) { return playerView.dispatchKeyEvent(event) || super.dispatchKeyEvent(event); }
প্লেব্যাক কন্ট্রোল নেভিগেট করতে এবং বিজ্ঞাপন এড়িয়ে যেতে PlayerView এর জন্য ফোকাস অনুরোধ করা গুরুত্বপূর্ণ। Activity র onCreate ইভেন্টে ফোকাস অনুরোধ করার কথা বিবেচনা করুন:
কোটলিন
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // ... playerView.requestFocus() // ... }
জাভা
@Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); // ... playerView.requestFocus(); // ... }
আপনি যদি অ্যান্ড্রয়েড টিভিতে কম্পোজ ব্যবহার করেন, তাহলে আপনাকে AndroidView কে ফোকাসযোগ্য করতে হবে এবং সেই অনুযায়ী AndroidView তে মডিফায়ার প্যারামিটার পাস করে ইভেন্টটি ডেলিগেট করতে হবে:
AndroidView( modifier = modifier.focusable().onKeyEvent { playerView.dispatchKeyEvent(it.nativeKeyEvent) }, factory = { playerView }, )