বাংলায় অ্যান্ড্রয়েড সহায়িকা - Bangla Android Guide

ইমারসিভ ফুল-স্ক্রিন মোড ব্যবহার করা

(http://developer.android.com/training/system-ui/immersive.html)

অ্যান্ড্রয়েড ৪.৪ (API Level 19) setSystemUiVisibility()যা আপনার অ্যাপকে সত্যিকারভাবে "full screen"এ নিয়ে যায় এর জন্য একটি নতুন SYSTEM_UI_FLAG_IMMERSIVE ফ্ল্যাগ শুরু করে। এই ফ্ল্রাগ, যখন SYSTEM_UI_FLAG_HIDE_NAVIGATION এবং SYSTEM_UI_FLAG_FULLSCREEN ফ্লাগের সাথে একত্রিত হয়, নেভিগেশন এবং স্ট্যাটাস বার কে হাইড করে এবং আপনার অ্যাপকে স্ক্রিনে সকল টাচ ইভেন্ট ধারন করতে দেয়।

যখন ইমারসিভ ফুল-স্ক্রিন মোড সক্রিয় হয়, আপনার একটিভিটি সকল টাচ ইভেন্ট গ্রহণ করা জারি রাখে। ইউজার রিজিওন যেখানে সিস্টেম বার সাধারণভাবে দৃশ্যমান হয় সেখানকার কাছাকাছি একটি ইনওয়ার্ড সোয়াইপ দিয়ে সিস্টেম বার উম্মোচন করতে পারে। এটা SYSTEM_UI_FLAG_HIDE_NAVIGATION ফ্লাগকে (SYSTEM_UI_FLAG_FULLSCREEN এবং ফ্ল্যাগ, যদি প্রয়োগ করা হয়) পস্কিার করে যাতে সিস্টেম বার দৃশ্যমান হয়। এটা আপনার View.OnSystemUiVisibilityChangeListener কে সক্রিয়ও করে, যদি সেট হয়। কিন্তু , আপনি যদি চান সিস্টেম বার স্বয়ংক্রিয়ভাবে কিছু সময় পর আবার হাইড হবে, আপনি পরিবর্তে SYSTEM_UI_FLAG_IMMERSIVE_STICKY ফ্ল্যাগ ব্যবহার করতে পারেন। উল্লেখ্য যে ফ্লাগের "sticky" সংস্করণ কোন লিসেনার সক্রিয় করে না, যেহেতু সিস্টেম বার অস্থায়ীভাবে এই মোডে শো হয় একটি অস্থায়ী স্টেটে (অবস্থায়)।

ফিগার ১ বিভিন্ন "immersive mode"স্টেট ব্যাখ্যা করে।

ফিগার ১ ইমারসিভ মোড স্টেট।

ফিগার ১ যা আছে:

  1. নন ইমারসিভ মোড- এভাবে অ্যাপ ইমারসিভ মোডে প্রবেশ করার পূর্বে দৃশ্যমান হয়। এটা আরও দেখায় কীভবে অ্যাপ দৃশ্যমান হবে যদি আপনি IMMERSIVE ফ্লাগ ব্যবহার করে থাকেন, এবং ইউজার সিস্টেম বার ডিসপ্লে করতে সোয়াইপ করে, এভাবে SYSTEM_UI_FLAG_HIDE_NAVIGATION এবং SYSTEM_UI_FLAG_FULLSCREEN ফ্লাগ পরিস্কার করা। যখনই এই ফ্লাগ পরিস্কার হবে, সিস্টেম বার পূণরায় দৃশ্যমান হবে এবং দৃশ্যমান হিসাবে থাকবে।

উল্লেখ্য যে আপনার স্ক্রিন যে যে অবস্থায় যেতে পারে তার সংখ্যা কে কমিয়ে আনতে সিস্টেম বার সহকারে সিংকয়ের মধ্যে সকল ইউআই কনন্ট্রোল ধরে রাখতে এটা বেস্ট প্র্যাকটিস। এটা আরও নিখুত ইউজার এক্সপেরিয়েন্স প্রদান করে। সুতরাং এখানে স্ট্যাটাস বার সহকারে সকল ইউআই কন্ট্রোল ডিসপ্লে হয়। যখনই অ্যাপ ইমারসভি মোডে প্রবেশ করে, ইউআই কন্ট্রোল সিস্টেম বারের সাথে হিডেন অবস্থায় থাকে। আপনার ইউআই দৃশ্যমানতা সিস্টেম বারের দৃশ্যমানতার সাথে সিঙ্কে থাকে এটা নিশ্চিত করতে, পরিবর্তন অনুসন্ধান করতে একটি যথাযথ View.OnSystemUiVisibilityChangeListener প্রদান করার বিষয়টা নিশ্চিত করুন, যেভাবে এই Responding to UI Visibility Changes অধ্যয়ে আলোচনা করা হয়েছে।

  1. Reminder bubble- সিস্টেম একটি রিমাইন্ডার বাবল ডিসপ্লে করে প্রথবার ইউজার আপনার অ্যাপে ইমারসিভ মোডে প্রবেশ করে। রিমাইন্ডার বাবল ইউজারকে স্মরন করায় যে কীভাবে সিস্টেম বার ডিসপ্লে করতে হয়।

নোট: আপনি যদি পরীক্ষার উদ্দেশ্যে দৃশ্যমান হতে রিমাইন্ডা বাবলকে জোর করতে চান, আপনি এটা করতে পারেন অ্যাপকে ইমারসিভ মোডে রাখার মাধ্যমে, পাওয়ার বাটন দিয়ে স্ক্রিনটি বন্ধ করে দিতে পারেন, এবং তারপর৫ সেকেন্ড পর আবার স্ক্রিনকে আবার অন করতে পারেন।

  1. Immersive mode- ইমারসিভ মোডে একটি অ্যাপ, সাথে সিস্টেম বার এবং অন্য ইউআই কন্ট্রোল হিডেন। আপনি হয় IMMERSIVE বা IMMERSIVE_STICKY দিয়ে এই অবস্থা অর্জন করতে পারেন।

  2. Sticky flag – এটা ইউআই যেটা আপনি দেখতে পাবেন যদি আপনি IMMERSIVE_STICKY ফ্লাগ ব্যবহার করেন, এবং ইউজার সিস্টেমবার ডিসপ্লে করতে সোয়াইপ করে। সেমি-ট্রান্সপারেন্ট বার াস্তায়ীভাবে দৃশ্যমান হয় এবং তারপর আবার হাইড হয়। সোয়াইপের কার্যক্রম কোন ফ্লাগ পরিস্কার করতে পারে না, আপনার সিস্টেম ইউআই দৃশ্যমানতা পরিবর্তন লিসেনার সক্রিয় করতেও পাওে না, কারন সিস্টেম বারের অস্থায়ী দৃশ্যমানতা একটি ইউআই দৃশ্যমানতা পরিবর্তনকে বিবেচনা করে না।

নোট: মনে রাখবেন যে, ইমারসিভ ফ্লাগ শুধুমাত্র ইফেক্ট নেয় যদি আপনি তাদের একত্রে ঝণঝSYSTEM_UI_FLAG_HIDE_NAVIGATION, SYSTEM_UI_FLAG_FULLSCREEN ব্যবহার করেন, বা উভয়ই। আপনি শুধু একটি বা অন্যটি ব্যবহার করতে পারবেন, কিন্তু স্ট্যাটাস বার এবং নেভিগেশন বার উভয় কে হাইড করা একটি কমন ঘটনা যখন আপনি “ফুল ইমারশন” মোড বাস্তবায়ন করেন।