Foldable Device (ফোল্ডেবল ডিভাইস) হল মোবাইল গ্যাজেটের একটি শ্রেণি যাতে নমনীয় ডিসপ্লে থাকে যা ভাঁজ করা এবং খোলার সময় ফর্ম-ফ্যাক্টর পরিবর্তন করে। এই ধরনের ডিভাইস স্ক্রিনের অবস্থানের উপর নির্ভর করে কমপ্যাক্ট ফোন এবং ট্যাবলেট উভয় হিসেবেই কাজ করে। Android Developers (2025) অনুযায়ী, 2024 সালে ফোল্ডেবল ডিভাইসের বৈশ্বিক বাজার 42% বৃদ্ধি পেয়েছে, এবং এই ফর্ম-ফ্যাক্টরের জন্য অ্যাপ্লিকেশন অ্যাডাপ্ট করা বড় প্রকল্পগুলির জন্য বাধ্যতামূলক হয়ে উঠছে।
মূল বিষয়
Foldable Device হল একটি মোবাইল ডিভাইস যা নমনীয় OLED ডিসপ্লে সহ যা ম্যাট্রিক্সের ক্ষতি না করেই ভাঁজ করতে সক্ষম। ভাঁজ করা অবস্থায়, এই ধরনের ডিভাইস কমপ্যাক্ট এবং পকেটে ফিট হয়; খোলা অবস্থায়, এটি ট্যাবলেট আকারের স্ক্রিন প্রদান করে। প্রথম ব্যাপকভাবে উৎপাদিত ফোল্ডেবল ডিভাইস ছিল Royole FlexPai (2018), কিন্তু ক্যাটাগরিটি জনপ্রিয় করে Samsung Galaxy Fold (2019) এবং Huawei Mate X।
ফোল্ডেবল ডিভাইস এবং ঐতিহ্যবাহী ডিভাইসের মধ্যে মূল পার্থক্য হল একটি হিঞ্জ (hinge) এবং নমনীয় ডিসপ্লের উপস্থিতি। ভাঁজ করার সময়, ডিসপ্লে ভাঙে না বরং হিঞ্জের ডিজাইন দ্বারা নির্ধারিত ব্যাসার্ধে বেঁকে যায়। আধুনিক প্রযুক্তি (UTG — Ultra Thin Glass, 2020+ এবং Samsung Infinity Flex) দৃশ্যমান ক্ষতি ছাড়াই 200,000 ভাঁজ চক্র পর্যন্ত সহ্য করতে পারে।
ডেভেলপারের জন্য, ফোল্ডেবল ডিভাইস তিনটি চ্যালেঞ্জ তৈরি করে: খোলার সময় স্ক্রিনের আকার পরিবর্তন, ক্রিজ (crease) এর উপস্থিতি এবং অর্ধেক খোলা অবস্থায় (tabletop mode) কাজ করা যখন ডিভাইসটি কোণে পৃষ্ঠের উপর দাঁড়িয়ে থাকে।
বুক-স্টাইল (book-style) — Galaxy Z Fold, Google Pixel Fold, OnePlus Open। ভাঁজ অবস্থায় ব্যবহারের জন্য বাইরের স্ক্রিন (cover screen), ট্যাবলেট মোডের জন্য ভিতরের নমনীয় ডিসপ্লে (inner screen)। বাইরের স্ক্রিনের আকৃতি অনুপাত প্রায় 22:9, ভিতরেরটি প্রায় 6:5 বা 4:3।
ফ্লিপ-স্টাইল (flip-style) — Galaxy Z Flip, Motorola Razr, Oppo Find N2 Flip। উল্লম্ব ভাঁজ, নোটিফিকেশনের জন্য বাইরের ডিসপ্লে (1.5–3.5 ইঞ্চি), ভিতরের স্ট্যান্ডার্ড ফোন ডিসপ্লে (6.7–7 ইঞ্চি)। মূল বৈশিষ্ট্য — অর্ধেক খোলা অবস্থায় (flex mode), অ্যাপ্লিকেশন স্ক্রিনকে দুটি জোনে ভাগ করতে পারে: নিয়ন্ত্রণ উপরে, কন্টেন্ট নিচে।
ডুয়াল-স্ক্রিন — Microsoft Surface Duo, Lenovo ThinkPhone। মাঝখানে হিঞ্জ সহ দুটি পৃথক ডিসপ্লে। খোলার সময়, তারা একটি সাধারণ এলাকা তৈরি করে কিন্তু স্ক্রিনের মধ্যে শারীরিক ফাঁক সহ। API হিঞ্জ কোণ বিবেচনা করে এবং অ্যাপ্লিকেশনকে উভয় স্ক্রিনে বিস্তৃত হতে দেয়।
Google ফোল্ডেবল ডিভাইসের সাথে কাজ করার জন্য Jetpack WindowManager প্রদান করে। API তিনটি মূল কম্পোনেন্ট অন্তর্ভুক্ত করে: WindowLayoutInfo — ভাঁজের অবস্থান সম্পর্কে তথ্য, WindowPosture — ডিভাইসের শারীরিক অবস্থান এবং FoldingFeature — ভাঁজ এলাকার বর্ণনা: ওরিয়েন্টেশন, অবস্থা এবং কোণ।
FoldingFeature ভাঁজের ধরন (hinge — হিঞ্জ, fold — নমনীয় স্ক্রিন), অবস্থা (flat — খোলা, half-opened — অর্ধেক খোলা, folded — ভাঁজ করা) এবং ভাঁজ কোণ (0 থেকে 180 ডিগ্রি) অন্তর্ভুক্ত করে। কোণ কোণ সেন্সরযুক্ত ডিভাইসে উপলব্ধ (Galaxy Z Fold, Pixel Fold)।
val windowInfoRepository =
WindowInfoTracker.getOrCreate(context)
windowInfoRepository.windowLayoutInfo(context)
.collect { layoutInfo ->
layoutInfo.displayFeatures
.filterIsInstance<FoldingFeature>()
.forEach { feature ->
// ফোল্ডিং হ্যান্ডল করা
}
}
একটি ডিভাইস ফোল্ডেবল কিনা তা নির্ধারণ করতে, PackageManager.hasSystemFeature("android.hardware.sensor.hinge_angle") ব্যবহার করুন। এই সেন্সরটি হিঞ্জযুক্ত ডিভাইসে উপস্থিত — সাধারণ ফোনে অনুপস্থিত।
ইন্টারফেস অ্যাডাপ্টেশন হল ফোল্ডেবল ডিভাইস সমর্থন করার সময় ডেভেলপারের প্রধান কাজ। খোলার সময়, উইন্ডোর প্রস্থ দ্বিগুণ হতে পারে, এবং ইন্টারফেসকে একক-কলাম থেকে মাল্টি-কলাম লেআউটে পুনর্গঠিত হতে হবে। লেআউটের মধ্যে স্যুইচ করতে Window Size Class ব্যবহার করুন — খোলার সময়, ক্লাস Compact থেকে Expanded-এ পরিবর্তিত হয়।
কনফিগারেশন পরিবর্তন প্রক্রিয়াকরণে বিশেষ মনোযোগ দিন। যখন ব্যবহারকারী ডিভাইস খোলে, Activity পুনরায় তৈরি হতে পারে। যদি অ্যাপ্লিকেশন অবস্থা সংরক্ষণ না করে, ব্যবহারকারী প্রবেশ করানো ডেটা বা স্ক্রোল অবস্থান হারাবে। স্ক্রিন ডেটার জন্য ViewModel এবং UI অবস্থার জন্য onSaveInstanceState ব্যবহার করুন।
ফ্লেক্স মোডের (tabletop mode) জন্য, ডিজাইনের উচিত স্ক্রিনকে দুটি কার্যকরী জোনে বিভক্ত করা। উপরেরটি — কন্টেন্ট দেখার জন্য (ভিডিও, গ্যালারি, তালিকা), নিচেরটি — নিয়ন্ত্রণের জন্য (বাটন, কন্ট্রোলার, কীবোর্ড)। এই প্যাটার্ন ভিডিও প্লেয়ারে প্রয়োগ করা হয়: Galaxy Z Flip-এ YouTube ভিডিও উপরে, সুপারিশ এবং বাটন নিচে দেখায়।
ফোল্ডেবল ডিভাইসের জন্য ডেভেলপমেন্টের সবচেয়ে চ্যালেঞ্জিং দিকগুলির মধ্যে একটি হল টেস্টিং। Android Emulator "Foldable" কনফিগারেশন (ভিতরের 7.6-ইঞ্চি ডিসপ্লে, বাইরের 4.6-ইঞ্চি ডিসপ্লে) সহ AVD ব্যবহার করে ফোল্ডেবল ডিভাইস সিমুলেট করতে দেয়। ইমুলেটর ভাঁজ করা এবং খোলা অবস্থার মধ্যে স্যুইচিং সমর্থন করে।
ইমুলেটরে টেস্টিংয়ের জন্য ADB ব্যবহার করা হয়। কমান্ড adb shell am broadcast -a android.intent.action.VIEW -e mode expand ডিভাইস খোলে, adb shell am broadcast -a android.intent.action.VIEW -e mode fold এটি ভাঁজ করে। ইমুলেটর উইন্ডোতে ভাঁজ কোণও পরিবর্তন করা যায়।
ট্রানজিশনের অনুভূতি, হিঞ্জের গুণমান এবং ক্রিজের দৃশ্যমানতা পরীক্ষা করার জন্য ফিজিক্যাল ডিভাইসে বাস্তব টেস্টিং সুপারিশ করা হয়। টেস্টিংয়ের জন্য প্রধান মডেল: Samsung Galaxy Z Fold 6 (বুক-স্টাইল), Samsung Galaxy Z Flip 6 (ফ্লিপ-স্টাইল), Google Pixel Fold, Motorola Razr 50।
গুরুত্বপূর্ণ উপাদানগুলি ক্রিজ এলাকায় রাখবেন না। বাটন, ইনপুট ফিল্ড এবং ইন্টারেক্টিভ উপাদানগুলি ক্রিজ লাইন থেকে ন্যূনতম 24 dp দূরত্বে অবস্থিত হওয়া উচিত। ক্রিজ (crease) নমনীয় স্ক্রিনের একটি অন্তর্নিহিত বৈশিষ্ট্য; এর দৃশ্যমানতা প্রতিটি প্রজন্মের সাথে কমে কিন্তু সম্পূর্ণরূপে অদৃশ্য হয় না।
বিরতির পরিবর্তে ধারাবাহিকতা ব্যবহার করুন। খোলার সময়, কন্টেন্ট বাইরের স্ক্রিন থেকে ভিতরের স্ক্রিনে মসৃণভাবে প্রবাহিত হওয়া উচিত বা পুরো এলাকায় বিস্তৃত হওয়া উচিত। নতুন Activity লোড করা এড়িয়ে চলুন — একই স্ক্রিনের মধ্যে লেআউট পুনর্গণনা ব্যবহার করুন। Jetpack WindowManager পরিবর্তনগুলি ট্র্যাক করে এবং WindowLayoutInfo-এর মাধ্যমে অ্যাপ্লিকেশনকে জানায়।
সৃজনশীল পরিস্থিতির জন্য হিঞ্জ কোণ বিবেচনা করুন। ফটো এবং ভিডিও অ্যাপ্লিকেশনে, অর্ধেক খোলা অবস্থান (90°) ডিভাইসকে স্ট্যান্ডে পরিণত করে: ক্যামেরা শুট করে, স্ক্রিনের নিচের অংশ কন্ট্রোল প্যানেল দেখায়। এই পরিস্থিতি বিশেষ করে Samsung Camera এবং নেটিভ অ্যাপ্লিকেশনে জনপ্রিয়।
সচরাচর জিজ্ঞাসা
PackageManager.FEATURE_SENSOR_HINGE_ANGLE এর উপস্থিতি পরীক্ষা করুন। যদি true হয় — ডিভাইসটি হিঞ্জ কোণ সেন্সর সহ ফোল্ডেবল। অতিরিক্তভাবে, DisplayFold API পরীক্ষা করুন।
WindowInfoTracker.windowLayoutInfo() এ সাবস্ক্রাইব করুন। FoldingFeature-এর অবস্থা পরিবর্তিত হলে, Window Size Class এবং ভাঁজের অবস্থান অনুযায়ী ইন্টারফেস পুনর্গঠিত করুন।
Jetpack WindowManager API 14+ এ কাজ করে। কিন্তু FoldingFeature.HALF_OPENED-এর জন্য API 24+ (Android 7.0) প্রয়োজন। হিঞ্জ কোণ ডেটা সেন্সর Android 10+ এ উপলব্ধ।
না। Window Size Class এবং Jetpack WindowManager-এর Layoutomization ব্যবহার করুন। আকার শ্রেণী পরীক্ষা সহ একক কোড পৃথক রিসোর্স লেআউট প্রতিস্থাপন করে।
বেশিরভাগ ফোল্ডেবল ডিভাইসে IP48 বা IP58 সুরক্ষা থাকে — সীমিত জল প্রতিরোধ ক্ষমতা। জলের নিচে, নমনীয় ডিসপ্লে ক্ষতিগ্রস্ত হতে পারে, তাই নির্মাতারা নিমজ্জন সুপারিশ করেন না।
সারসংক্ষেপ
আমরা একটি মোবাইল অ্যাপ্লিকেশন টার্নকি তৈরি করব
IT Sectr 2017 সাল থেকে স্টার্টআপ এবং ব্যবসার জন্য iOS এবং Android অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।
আরও পড়ুন