Android 7.0 ও তার পরবর্তী যেকোনও ভার্সনে, ডিভাইস মাল্টি-উইন্ডো ব্যবহার করে একসাথে একাধিক অ্যাপ ডিসপ্লে করতে পারে। Android-এ তিনটি মাল্টি-উইন্ডো কনফিগারেশন কাজ করে:
- ফ্রিফর্ম: ব্যবহারকারীদের অ্যাক্টিভিটি পেনের সাইজ ডায়নামিকভাবে পরিবর্তন করতে দেয় এবং তাদের স্ক্রিনে দুটির বেশি অ্যাপ দেখতে দেয়। ডেস্কটপ উইন্ডোয়িং-এর জন্য, ব্যবহারকারীরা ডেস্কটপে ফ্রিফর্ম উইন্ডো তৈরি করতে পারেন যা ডেস্কটপ-স্টাইল ইন্টার্যাকশন অফার করে।
- স্প্লিট স্ক্রিন: ডিফল্ট মাল্টি-উইন্ডো প্রয়োগ, যা দুটি অ্যাক্টিভিটি প্যান প্রদান করে যেখানে ব্যবহারকারীরা অ্যাপ রাখতে পারেন।
- ছবির-মধ্যে-ছবি (PiP): Android-এ চলা ডিভাইসকে ছোট উইন্ডোতে ভিডিও কন্টেন্ট চালাতে দেয়, যাতে ব্যবহারকারী অন্যান্য অ্যাপের সাথে ইন্টার্যাক্ট করতে পারেন।
মাল্টি-উইন্ডো ডিভাইসের প্রয়োজনীয়তা
Android 7.0 এবং তার পরবর্তী যেকোনও ভার্সনে মাল্টি-উইন্ডো সাপোর্ট ডিফল্ট হিসেবে চালু করা থাকে।
এটি বন্ধ করতে, আপনার ডিভাইসের
config.xml ফাইলে config_supportsMultiWindow ফ্ল্যাগকে
false-এ সেট করুন।
কম র্যাম থাকা সব ডিভাইসে (যেসব ডিভাইস ActivityManager.isLowRam ঘোষণা করে) ডিফল্ট হিসেবে মাল্টি-উইন্ডো বন্ধ করা থাকে।
কম র্যাম থাকা ডিভাইস config_supportsMultiWindow ফ্ল্যাগের ভ্যালু
উপেক্ষা করে।
ফ্রি-ফর্ম
ফ্রিফর্ম উইন্ডোয়িং ব্যবহারকারীকে এমন উইন্ডো তৈরি করতে দেয় যেগুলি ফ্রিলি রিসাইজ করা যায়। ডেস্কটপ উইন্ডোর জন্য ফ্রিফর্ম উইন্ডো প্রয়োজনীয়। ফ্রিফর্ম উইন্ডোয়িং চালু করার জন্য ডিভাইস সংক্রান্ত প্রয়োজনীয়তাগুলি নিচে উল্লেখ করা হল:
-
config_supportsMultiWindowফ্ল্যাগ চালু করুন। -
নিম্নলিখিত পদ্ধতিগুলির মধ্যে একটিতে ফ্রিফর্ম উইন্ডো ম্যানেজমেন্ট চালু করুন:
-
config.xml-এconfig_freeformWindowManagementফ্ল্যাগ চালু করুন: :<feature name="android.software.freeform_window_management" /> -
ডিভাইস মেকফাইলে নিম্নলিখিত বিষয়গুলি যোগ করুন:
PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.software.freeform_window_management.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/android.software.freeform_window_management.xml
-
Android 16-এ, OEM-রা ডেস্কটপ উইন্ডোইং চালু করুন ব্যবহার করে ফ্রিফর্ম মাল্টি-উইন্ডো কনফিগারেশনের জন্য তাদের ডিভাইসে ডেস্কটপ উইন্ডোইং কাজ করতে দিতে পারে।
ডেস্কটপ উইন্ডোইং
ডেস্কটপ উইন্ডোইং বড় স্ক্রিনে মাল্টিটাস্কিংয়ের জন্য একটি ওয়ার্কস্পেস প্রদান করে, যা ফ্রিফর্ম উইন্ডোর উপরে তৈরি করা হয়েছে। ফুলস্ক্রিনের পাশাপাশি ওয়ার্কস্পেস থাকে, সাথে অতিরিক্ত UI অ্যাফর্ডেন্স ও আচরণ থাকে যা ব্যবহারকারীকে আরও ফ্লেক্সিবল মাল্টিটাস্কিং অভিজ্ঞতা দেয়:
- কীবোর্ড বা মাউস ইন্টার্যাকশন: টাচ-ফার্স্ট এবং কীবোর্ড বা মাউস-ফার্স্ট ইন্টার্যাকশন, দুটিতেই কাজ করে।
- ফ্রিফর্ম উইন্ডো: উইন্ডো ক্যাপশন বার ও কন্ট্রোল সহ ছোট বড় করা ও সরানো যায় এমন উইন্ডোতে অ্যাপ চালায়।
- উন্নত টাস্কবার: চালু থাকা ও পিন করা অ্যাপে সহজে অ্যাক্সেস প্রদান করে।
- এক্সটার্নাল ডিসপ্লের অপ্টিমাইজেশন: কাজ করে এমন ডিভাইসের জন্য কানেক্ট করা মনিটরকে ডেস্কটপ এনভায়রনমেন্টে পরিবর্তন করে।
- ভার্চুয়াল ডেস্ক: ব্যবহারকারীকে একাধিক Workspace জুড়ে অ্যাপ সাজাতে দেয়।
ডেস্কটপ উইন্ডোইংয়ের জন্য ডিভাইস কনফিগার করতে নিম্নলিখিত পূর্বশর্তগুলি পূরণ করুন:
-
নিম্নলিখিত ফ্ল্যাগ চালু করুন:
- ফ্রিফর্ম উইন্ডো-এর জন্য সব পূর্বশর্ত
- গ্লোবাল ডেস্কটপ উইন্ডোইং ফ্ল্যাগ
config_isDesktopModeSupported
- সিস্টেম UI-এর জন্য কমপক্ষে ৬০০ dp চওড়া ডিসপ্লে প্রয়োজন। ডেস্কটপ উইন্ডো ছোট স্ক্রিনে প্রত্যাশা অনুযায়ী কাজ নাও করতে পারে।
-
ডিভাইসটি যেন কম-র্যামের ডিভাইস না হয়।
ActivityManager.isLowRamঅবশ্যইfalseরিটার্ন করবে, কারণ কম-RAM ডিভাইসে কোনও মাল্টি-উইন্ডো ফিচার কাজ করে না।
স্ক্রিনের সাইজ এবং ডিভাইসটি কীভাবে ব্যবহার করা হবে তার উপর নির্ভর করে, ডেস্কটপ উইন্ডোইংয়ের জন্য ডিভাইস কনফিগার করার কনফিগারেশনগুলি নিম্নলিখিত টেবিলে তালিকাভুক্ত করা হয়েছে:
| মোড | শুধুমাত্র ফুল-স্ক্রিন হ্যান্ডহেল্ড | কানেক্ট করা ডিসপ্লেতে ফুল-স্ক্রিন-ফার্স্ট হ্যান্ডহেল্ড প্রজেকশন | কানেক্ট করা ডিসপ্লে পর্যন্ত বিস্তৃত ফুলস্ক্রিন-ফার্স্ট লার্জ স্ক্রিন | ডেস্কটপ উইন্ডোইং-ফার্স্ট বড় স্ক্রিন |
|---|---|---|---|---|
| ফর্ম ফ্যাক্টরের উদাহরণ | হ্যান্ডহেল্ড ফোন | হ্যান্ডহেল্ড ফোন যা এক্সটার্নাল ডিসপ্লেতে HDMI সাপোর্ট করে | এক্সটার্নাল ডিসপ্লেতে HDMI কাজ করে এমন ট্যাবলেট | এক্সটার্নাল ডিসপ্লেতে HDMI কাজ করে এমন কীবোর্ড সহ ট্যাবলেট |
| ইন্টার্নাল ডিসপ্লে অভিজ্ঞতা | ফুলস্ক্রিন, স্প্লিট স্ক্রিন, PiP, নন-ডেস্কটপ ফ্রিফর্ম কাজ করে | ফুলস্ক্রিন, স্প্লিট স্ক্রিন, PiP কাজ করে | ফুলস্ক্রিন, স্প্লিট স্ক্রিন, PiP-তে কাজ করে এমন ডেস্কটপ উইন্ডোইং আলাদা ডেস্কের মাধ্যমে | ডেস্কটপ উইন্ডোয়িং হল ডিফল্ট উইন্ডোয়িং মোড (আলাদা ডেস্ক কাজ করে); ব্যবহারকারী আলাদা ডেস্কের মাধ্যমে ফুলস্ক্রিন বা টাচ মোড ডেস্কটপ উইন্ডোয়িংয়ে যেতে পারেন |
| কানেক্ট করা ডিসপ্লে অভিজ্ঞতা | শুধুমাত্র ইন্টার্নাল ডিসপ্লে মিরর করা | শুধুমাত্র কানেক্ট করা ডিসপ্লেতে ডেস্কটপ উইন্ডোয়িং | ডেস্কটপ উইন্ডোয়িং ডেস্কের সুবিধা বাড়ায়; ইন্টার্নাল ডিসপ্লেতে উপলভ্য | ডেস্কটপ উইন্ডোয়িং ডেস্কের সুবিধা বাড়ায়; ইন্টার্নাল ডিসপ্লেতে উপলভ্য |
| কনফিগারেশন সেটিংস | ||||
config_supportsMultiWindow |
true |
true |
true |
true |
config_freeformWindowManagement |
true |
true |
true |
true |
config_isDesktopModeSupported |
false |
true |
true |
true |
config_canInternalDisplayHostDesktops |
এড়ানো হয়েছে | false |
true |
true |
config_enterDesktopByDefaultOnFreeformDisplay |
এড়ানো হয়েছে | false |
false |
true |
config_isDesktopModeSupported
কনফিগারেশন ওভারলে ফ্ল্যাগ config_isDesktopModeSupported হল ডেস্কটপ উইন্ডো চালু করার
টপ-লেভেল ফ্ল্যাগ। এটি চালু করা না থাকলে, অন্যান্য সব কনফিগারেশন সেটিংস উপেক্ষা করা হয়।
config.xml-এ এটি true-এ সেট করুন:
<!-- Globally enable Desktop windowing logic -->
<bool name="config_isDesktopModeSupported">true</bool>
config_isDesktopModeSupported, true হলে, সিস্টেম অটোমেটিক
উপযুক্ত এক্সটার্নাল ডিসপ্লেকে (যেমন DisplayPort বা HDMI-এর মাধ্যমে কানেক্ট করা ডিসপ্লে)
ডেস্কটপ উইন্ডোয়িংয়ের জন্য উপযুক্ত হিসেবে বিবেচনা করে।
ডিসপ্লেটি উইন্ডো ম্যানেজার দ্বারা উপযুক্ত বলে বিবেচিত হতে হবে (অন্তত সর্বজনীন এবং বিশ্বস্ত,
ডেস্কটপ উইন্ডোইং দেখুন)।
সিস্টেম ডিফল্ট হিসেবে এইসব ডিসপ্লেতে ফ্রিফর্ম মোডে টাস্ক লঞ্চ করার চেষ্টা করে।
config_canInternalDisplayHostDesktops
কনফিগারেশন ওভারলে ফ্ল্যাগ config_canInternalDisplayHostDesktops ডিভাইসের ইন্টার্নাল ডিসপ্লেতে
ডেস্কটপ উইন্ডোয়িং চালু করে। config.xml-এ
true হিসেবে সেট করুন:
<!-- Allow the primary internal display to host desktop sessions -->
<bool name="config_canInternalDisplayHostDesktops">true</bool>ছোট হ্যান্ডহেল্ড ফোনের তুলনায় ট্যাবলেট বা বড় স্ক্রিনের ডিভাইসে ডেস্কটপ উইন্ডোয়িং সবচেয়ে ভালো কাজ করে। চালু করা না থাকলে, ডেস্কটপ উইন্ডোয়িং শুধুমাত্র এক্সটার্নাল ডিসপ্লেতে কাজ করে (ধরে নেওয়া হচ্ছে যে ডিভাইসে HDMI কাজ করে)।
config_enterDesktopByDefaultOnFreeformDisplay
কনফিগারেশন ওভারলে ফ্ল্যাগ config_enterDesktopByDefaultOnFreeformDisplay ডিভাইসের ইন্টার্নাল ডিসপ্লেতে
ডেস্কটপ উইন্ডোয়িংকে ডিফল্ট উইন্ডোয়িং মোড হিসেবে সেট করে।
চালু না করা থাকলে, ফুল-স্ক্রিন হল ডিফল্ট উইন্ডোইং মোড, যেখানে ডেস্ক
একসাথে থাকে। config.xml-এ এটি true-এ সেট করুন:
<!-- Enable Desktop windowing as the default windowing mode on the internal display -->
<bool name="config_enterDesktopByDefaultOnFreeformDisplay">true</bool>টাস্কের সীমা চালু করা
ডেস্কটপ উইন্ডোইংয়ে কাজ করে এমন টাস্কের সর্বাধিক সংখ্যা কনফিগার করতে, config.xml-এ কনফিগ ওভারলে ফ্ল্যাগ config_maxDesktopWindowingActiveTasks
কাজ করে এমন টাস্কের সর্বাধিক সংখ্যায় সেট করুন। আনলিমিটেড সংখ্যক টাস্কের জন্য, ফ্ল্যাগ ভ্যালু 0 হিসেবে সেট করুন:
<!-- Maximum number of tasks supported in desktop windowing -->
<integer name="config_maxDesktopWindowingActiveTasks">4</integer>ডেস্কের সীমা চালু করা
ডেস্কটপ উইন্ডোয় কাজ করে এমন ভার্চুয়াল ডেস্কের সর্বাধিক সংখ্যা কনফিগার করতে, config_maxDesktopWindowingDesks-এ config.xml
সাপোর্ট করে এমন ডেস্কের সর্বাধিক সংখ্যায়
কনফিগার ওভারলে ফ্ল্যাগ সেট করুন। অসংখ্য ডেস্কের জন্য সহায়তা পেতে, ফ্ল্যাগ ভ্যালু 0-এ সেট করুন:
<!-- Maximum number of virtual desks supported in desktop windowing -->
<integer name="config_maxDesktopWindowingDesks">4</integer>স্প্লিট স্ক্রিন
'মাল্টি-উইন্ডো' ফিচারের ডিফল্ট অভিজ্ঞতা হল স্প্লিট-স্ক্রিন মোড, যেখানে সিস্টেম UI পোর্ট্রেট বা ল্যান্ডস্কেপ মোডে ডিভাইসের মাঝখান থেকে দু'ভাগে ভাগ করা হয়। ডিভাইসের ওরিয়েন্টেশনের উপর নির্ভর করে, ব্যবহারকারীরা ডিভাইডিং লাইনটি একপাশ থেকে অন্যপাশে বা উপর থেকে নিচে টেনে এনে উইন্ডোর সাইজ পরিবর্তন করতে পারবেন।
স্প্লিট স্ক্রিন চালু করার পরে, ডিভাইস প্রস্তুতকারক ফ্রিফর্ম বা PiP চালু করার বিকল্প বেছে নিতে পারেন।
Android 8.0 এবং তার পরবর্তী ভার্সনে ব্যবহারকারী হোম বিকল্পে ট্যাপ করলে লঞ্চার কম্প্রেস করে স্প্লিট স্ক্রিন উন্নত করা হয়। প্রয়োগ সংক্রান্ত বিবরণের জন্য, স্প্লিট-স্ক্রিন ইন্টার্যাকশন দেখুন।
ছবির-মধ্যে-ছবি
config_supportsMultiWindow ফ্ল্যাগ সহ মাল্টি-উইন্ডো মোড চালু করার পরে, ডিভাইস প্রস্তুতকারকরা
পিকচার-ইন-পিকচার
ফিচার কাজ করতে পারে, যা ব্যবহারকারীদের
অন্যান্য অ্যাক্টিভিটি ব্রাউজ করার সময় ভিডিও দেখতে দেয়। এই ফিচারটি Android TV ডিভাইসের জন্য
তৈরি করা হলেও, অন্যান্য ধরনের ডিভাইসেও এই ফিচার কাজ করতে পারে।
PiP ব্যবহার করতে, /android/frameworks/base/core/java/android/content/pm/PackageManager.java-এ
PackageManager#FEATURE_PICTURE_IN_PICTURE সিস্টেম ফিচার চালু করুন।
Android 8.0 ও এর পরের যেকোনও ভার্সনে চলা ডিভাইসের জন্য PiP প্রয়োগ সংক্রান্ত আরও বিবরণের জন্য, পিকচার-ইন-পিকচার দেখুন।
সিস্টেম UI
মাল্টি-উইন্ডো মোড যাচাইকরণ অনুযায়ী সব স্ট্যান্ডার্ড সিস্টেম UI-তে কাজ করে।
অ্যাপ
প্রি-লোড করা অ্যাপের জন্য মাল্টি-উইন্ডো মোড সংক্রান্ত সহায়তা পেতে, মাল্টি-উইন্ডো মোড সংক্রান্ত সহায়তা দেখুন।
যাচাইকরণ
মাল্টি-উইন্ডো প্রয়োগ করার বিষয়টি যাচাই করতে, সংশ্লিষ্ট CTS টেস্ট চালান এবং মাল্টি-উইন্ডো মোড যাচাইকরণ অনুসরণ করুন।