জেসচার নেভিগেশনের সাথে মানানসই কিনা তা নিশ্চিত করা

Android 10 (API লেভেল ২৯) থেকে শুরু করে, Android সিস্টেম সম্পূর্ণভাবে জেসচার-ভিত্তিক নেভিগেশন সাপোর্ট করে। অ্যাপ ডেভেলপারদের দুটি জিনিস অবশ্যই করতে হবে যাতে তাদের অ্যাপ এই ফিচারের সাথে মানানসই হয়:

  • অ্যাপের কন্টেন্ট এজ-টু-এজ বাড়ান।
  • পরস্পরবিরোধী অ্যাপ জেসচার ম্যানেজ করা।

এছাড়াও, Android 13 (API লেভেল 33) Android ডিভাইসের জন্য আগের ধাপে ফিরে যাওয়া সংক্রান্ত পূর্বাভাসের জেসচার নিয়ে এসেছে, যেমন ফোন, বড় স্ক্রিন এবং ফোল্ডেবল ডিভাইস যা বহু বছরের রিলিজের অংশ। অ্যাপ ডেভেলপাররা তাদের অ্যাপে আগের ধাপে ফিরে যাওয়া সংক্রান্ত পূর্বাভাসের জেসচার কাজ করছে কিনা তা নিশ্চিত করতে পদক্ষেপ নিতে পারেন।

অ্যাপের কন্টেন্ট এজ-টু-এজ দেখান

ফ্লোটিং নেভিগেশন বারের মাধ্যমে উপলভ্য হওয়া অতিরিক্ত স্ক্রিন স্পেসের সুবিধা নিতে, আপনার অ্যাপে কিছু পরিবর্তন কনফিগার করতে হবে।

বিস্তারিত জানতে আপনার অ্যাপে এজ-টু-এজ কন্টেন্ট ডিসপ্লে করুন দেখুন।

অ্যাপের পরস্পরবিরোধী জেসচার ম্যানেজ করা

জেসচার নেভিগেশন মডেলটি আগে অ্যাপ ডেভেলপারদের দ্বারা ব্যবহৃত জেসচারের সাথে দ্বন্দ্ব করতে পারে। এর ফলে, আপনার অ্যাপের ইউজার ইন্টারফেসে আপনাকে কিছু পরিবর্তন করতে হতে পারে।

ফিরে যাওয়ার জেসচারের সাথে কনফ্লিক্ট করে

ফিরে যাওয়ার জন্য নতুন সিস্টেম জেসচার হল স্ক্রিনের বাঁদিক বা ডানদিকের প্রান্ত থেকে ভিতরের দিকে সোয়াইপ করা। এর ফলে, সেইসব জায়গায় অ্যাপ নেভিগেশন এলিমেন্টে সমস্যা হতে পারে। স্ক্রিনের বাঁ ও ডানদিকের কিনারায় থাকা এলিমেন্টের কার্যকারিতা বজায় রাখতে, সিস্টেমকে কোন কোন জায়গায় টাচ ইনপুট নিতে হবে তা দেখিয়ে, বেছে বেছে 'ফিরে যান' জেসচার থেকে বেরিয়ে আসুন। Android 10-এ চালু করা View.setSystemGestureExclusionRects() API-তে List<Rect> পাস করে আপনি এটি করতে পারবেন। এছাড়াও, এই পদ্ধতি androidx.core:core:1.1.0-dev01 থেকে ViewCompat-এ উপলভ্য।

যেমন:

Kotlin

var exclusionRects = listOf(rect1, rect2, rect3)

fun onLayout(
        changedCanvas: Boolean, left: Int, top: Int, right: Int, bottom: Int) {
  // Update rect bounds and the exclusionRects list
  setSystemGestureExclusionRects(exclusionRects)
}

fun onDraw(canvas: Canvas) {
  // Update rect bounds and the exclusionRects list
  setSystemGestureExclusionRects(exclusionRects)
}

জাভা

List<Rect> exclusionRects;

public void onLayout(
        boolean changedCanvas, int left, int top, int right, int bottom) {
    // Update rect bounds and the exclusionRects list
    setSystemGestureExclusionRects(exclusionRects);
}

public void onDraw(Canvas canvas) {
    // Update rect bounds and the exclusionRects list
    setSystemGestureExclusionRects(exclusionRects);
}

হোম বা কুইক-সুইচ জেসচারের সাথে কনফ্লিক্ট করে

হোম ও দ্রুত পাল্টানোর জন্য নতুন সিস্টেম জেসচার, স্ক্রিনের নিচে আগে যেখানে নেভিগেশন বার ছিল সেখানে সোয়াইপ করার সাথে সম্পর্কিত। অ্যাপ এইসব জেসচার থেকে অপ্ট-আউট করতে পারে না, যেমনটি তারা ফিরে যাওয়ার জেসচারের ক্ষেত্রে করতে পারে।

এই সমস্যা কমাতে, Android 10-এ WindowInsets.getMandatorySystemGestureInsets() API নিয়ে আসা হয়েছে, যা অ্যাপকে টাচ শনাক্তকরণের থ্রেশহোল্ড সম্পর্কে জানায়।

গেম এবং অন্যান্য নন-ভিউ অ্যাপ

গেম এবং অন্যান্য অ্যাপ যেগুলিতে ভিউ হায়ারার্কি নেই, সেগুলির ক্ষেত্রে ব্যবহারকারীকে প্রায়ই সিস্টেম জেসচার এরিয়ার কাছাকাছি সোয়াইপ করতে হয়। সেইসব ক্ষেত্রে, সিস্টেম জেসচারের জন্য রিজার্ভ করা এলাকার সাথে ওভারল্যাপ করা এলাকা বাদ দিতে, গেম Window.setSystemGestureExclusionRects() ব্যবহার করতে পারে। গেম ডেভেলপারদের অবশ্যই নিশ্চিত করতে হবে যে তারা শুধুমাত্র প্রয়োজনের সময় এই অঞ্চলগুলি বাদ দেয়, যেমন গেমপ্লে চলাকালীন।

কোনও গেমে যদি ব্যবহারকারীকে হোম জেসচার এরিয়ার কাছাকাছি সোয়াইপ করতে হয়, তাহলে অ্যাপটি ইমারসিভ মোডে লে-আউট করার অনুরোধ করতে পারে। ব্যবহারকারী গেমের সাথে ইন্টার‍্যাক্ট করার সময় এটি সিস্টেম জেসচার বন্ধ করে দেয়, তবে ব্যবহারকারী স্ক্রিনের নিচের দিক থেকে সোয়াইপ করে সিস্টেম জেসচার আবার চালু করতে পারেন।

আগের ধাপে ফিরে যাওয়া সংক্রান্ত পূর্বাভাসের জেসচার কাজ করার জন্য আপনার অ্যাপ আপডেট করা

Android 13 (API লেভেল 33) ফোন, বড় স্ক্রিন ও ফোল্ডেবল ডিভাইসের মতো Android ডিভাইসের জন্য আগের ধাপে ফিরে যাওয়া সংক্রান্ত পূর্বাভাসের জেসচার নিয়ে এসেছে। আগের ধাপে ফিরে যাওয়া সংক্রান্ত পূর্বাভাসের জেসচার হল বহু বছর ধরে রিলিজের অংশ। সম্পূর্ণভাবে প্রয়োগ করা হলে, এই ফিচার ব্যবহারকারীদের গন্তব্য বা ব্যাক জেসচারের অন্যান্য ফলাফল সম্পূর্ণ করার আগে প্রিভিউ করতে দেয়, যাতে তারা বর্তমান ভিউতে থাকবেন নাকি চালিয়ে যাবেন সেই সিদ্ধান্ত নিতে পারেন।

আরও জানতে আগের ধাপে ফিরে যাওয়া সংক্রান্ত পূর্বাভাসের জেসচারের জন্য সহায়তা যোগ করুন দেখুন।

অতিরিক্ত রিসোর্স

জেসচার নেভিগেশন সম্পর্কে আরও জানতে, নিম্নলিখিতগুলি দেখুন:

ব্লগ পোস্ট

ভিডিও