Foldable Device (buklanadigan qurilma) — buklanib ochilganda form faktorini o‘zgartiruvchi egiluvchan displeyli mobil gadjetlar sinfidir. Bunday qurilmalar ekran holatiga qarab ham kompakt telefon, ham planshet sifatida ishlaydi. Android Developers (2025) ma’lumotlariga ko‘ra, buklanadigan qurilmalarning global bozori 2024-yilda 42% ga o‘sgan va ilovalarni ushbu form faktorga moslashtirish yirik loyihalar uchun majburiy bo‘lib bormoqda.
Asosiy ma’lumotlar
Foldable Device — matritsaga zarar yetkazmasdan buklanishi mumkin bo‘lgan egiluvchan OLED displeyli mobil qurilma. Yopiq holatda bunday qurilma ixcham va cho‘ntakka sig‘adi, ochiq holatda esa planshet o‘lchamidagi ekranni taqdim etadi. Birinchi ommaviy buklanadigan qurilma Royole FlexPai (2018) bo‘ldi, ammo bu kategoriyani Samsung Galaxy Fold (2019) va Huawei Mate X ommalashtirdi.
Buklanadigan qurilmalarni an’anaviy qurilmalardan asosiy farqi — mentesh (hinge) va egiluvchan displeyning mavjudligi. Buklanganda displey sinmaydi, balki mentesh konstruksiyasi bilan belgilangan radius bo‘ylab egiladi. Zamonaviy texnologiyalar (UTG — Ultra Thin Glass, 2020+ va Samsung Infinity Flex) ko‘rinadigan shikastlarsiz 200 000 buklanish siklini bardosh berishga imkon beradi.
Dasturchilar uchun buklanadigan qurilmalar uchta muammo tug‘diradi: ochilganda ekran o‘lchamining o‘zgarishi, buklama izining (crease) mavjudligi va qurilma sirtga burchak ostida turganda yarim ochiq holatda (tabletop mode) ishlash.
Kitobsimon (book-style) — Galaxy Z Fold, Google Pixel Fold, OnePlus Open. Yopiq holatda foydalanish uchun tashqi ekran (cover screen), planshet rejimi uchun ichki egiluvchan displey (inner screen). Tashqi ekranning tomonlar nisbati taxminan 22:9, ichki ekranniki — taxminan 6:5 yoki 4:3.
Qobiqsimon (flip-style) — Galaxy Z Flip, Motorola Razr, Oppo Find N2 Flip. Vertikal buklanish, bildirishnomalar uchun tashqi displey (1.5–3.5 dyuym), ichki displey — standart telefon (6.7–7 dyuym). Asosiy xususiyat — yarim ochiq holatda (flex mode) ilova ekranni ikki zonaga bo‘lishi mumkin: yuqorida boshqaruv, pastda mazmun.
Qo‘sh ekran — Microsoft Surface Duo, Lenovo ThinkPhone. O‘rtasida mentesh bo‘lgan ikki alohida displey. Ochilganda umumiy maydon hosil qiladi, ammo ekranlar orasida fizik bo‘shliq qoladi. API mentesh burchagini hisobga oladi va ilovaning ikkala ekranga yoyilishiga imkon beradi.
Google buklanadigan qurilmalar bilan ishlash uchun Jetpack WindowManager ni taqdim etadi. API uchta asosiy komponentni o‘z ichiga oladi: WindowLayoutInfo — buklama joyi haqida ma’lumot (fold), WindowPosture — qurilmaning fizik holati va FoldingFeature — buklama maydonining tavsifi: yo‘nalish, holat va burchak.
FoldingFeature buklanish turini (hinge — mentesh, fold — egiluvchan ekran), holatni (flat — ochiq, half-opened — yarim ochiq, folded — yopiq) va buklama burchagini (0 dan 180 darajagacha) o‘z ichiga oladi. Burchak burchak sensori bo‘lgan qurilmalarda (Galaxy Z Fold, Pixel Fold) mavjud.
val windowInfoRepository =
WindowInfoTracker.getOrCreate(context)
windowInfoRepository.windowLayoutInfo(context)
.collect { layoutInfo ->
layoutInfo.displayFeatures
.filterIsInstance<FoldingFeature>()
.forEach { feature ->
// buklashni boshqarish
}
}
Qurilmaning buklanadigan ekanligini aniqlash uchun PackageManager.hasSystemFeature("android.hardware.sensor.hinge_angle") dan foydalaning. Menteshli qurilmada bu sensor mavjud — oddiy telefonlarda yo‘q.
Interfeysni moslashtirish — buklanadigan qurilmalarni qo‘llab-quvvatlashda dasturchining asosiy vazifasi. Ochilganda oynaning kengligi ikki barobarga oshishi mumkin va interfeys bir ustunli joylashuvdan ko‘p ustunliga o‘tishi kerak. Joylashuvlar o‘rtasida o‘tish uchun Window Size Class dan foydalaning — ochilganda sinf Compact dan Expanded ga o‘zgaradi.
Konfiguratsiya o‘zgarishlarini qayta ishlashga alohida e’tibor bering. Foydalanuvchi qurilmani ochganda Activity qayta yaratilishi mumkin. Ilova holatni saqlamasa, foydalanuvchi kiritilgan ma’lumotlarni yoki aylantirish o‘rnini yo‘qotadi. Ekran ma’lumotlari uchun ViewModel va UI holati uchun onSaveInstanceState dan foydalaning.
Flex mode (tabletop mode) uchun dizayn ekranni ikki funksional zonaga bo‘lishi kerak. Yuqori qism — mazmunni ko‘rish (video, galereya, ro‘yxat), pastki qism — boshqaruv (tugmalar, kontrollerlar, klaviatura). Bu na’munaviy video pleerlarda qo‘llaniladi: YouTube Galaxy Z Flip da videoni yuqorida, tavsiyalar va tugmalarni pastda ko‘rsatadi.
Test qilish — buklanadigan qurilmalar uchun ilovalarni ishlab chiqishning eng murakkab jihatlaridan biridir. Android Emulator "Foldable" konfiguratsiyasi bilan AVD orqali buklanadigan qurilmalarni simulyatsiya qilish imkonini beradi (ichki 7.6 dyuymli displey, tashqi 4.6 dyuymli). Emulyator yopiq va ochiq holatlar o‘rtasida o‘tishni qo‘llab-quvvatlaydi.
Emulyatorda test qilish uchun ADB ishlatiladi. adb shell am broadcast -a android.intent.action.VIEW -e mode expand buyrug‘i qurilmani ochadi, adb shell am broadcast -a android.intent.action.VIEW -e mode fold buyrug‘i esa yopadi. Emulyator oynasida buklama burchagini ham o‘zgartirish mumkin.
Fizik qurilmalarda haqiqiy test qilish o‘tish hissiyotini, mentesh sifatini va buklama izining ko‘rinishini tekshirish uchun tavsiya etiladi. Test uchun asosiy modellar: Samsung Galaxy Z Fold 6 (kitobsimon), Samsung Galaxy Z Flip 6 (qobiqsimon), Google Pixel Fold, Motorola Razr 50.
Muhim elementlarni buklama maydoniga joylashtmang. Tugmalar, matn kiritish maydonlari va interaktiv elementlar buklama chizig‘idan kamida 24 dp masofada joylashishi kerak. Buklama izi (crease) — egiluvchan ekranlarning ajralmas xususiyati, uning ko‘rinishi har bir avlod bilan kamayadi, lekin butunlay yo‘qolmaydi.
Tanaffus o‘rniga davom ettirish printsipidan foydalaning. Ochilganda mazmun tashqi ekrandan ichki ekranga silliq o‘tishi yoki butun maydonga yoyilishi kerak. Yangi Activity yuklashdan saqlaning — bir xil ekran ichida joylashuvni qayta hisoblang. Jetpack WindowManager o‘zgarishlarni kuzatadi va WindowLayoutInfo orqali ilovaga xabar beradi.
Ijodiy ssenariylar uchun mentesh burchagini hisobga oling. Foto va video ilovalarida yarim ochiq holat (90°) qurilmani stendga aylantiradi: kamera suratga oladi, ekranning pastki qismi boshqaruv panelini ko‘rsatadi. Bu ssenariy ayniqsa Samsung Camera va mahalliy ilovalarda mashhur.
Tez-tez beriladigan savollar
PackageManager.FEATURE_SENSOR_HINGE_ANGLE mavjudligini tekshiring. Agar true bo‘lsa — qurilma mentesh burchagi sensoriga ega buklanadigan qurilmadir. Qo‘shimcha ravishda DisplayFold API ni tekshiring.
WindowInfoTracker.windowLayoutInfo() ga obuna bo‘ling. FoldingFeature holati o‘zgarganda interfeysni Window Size Class va buklama joylashuviga mos ravishda qayta tuzing.
Jetpack WindowManager API 14+ da ishlaydi. Ammo FoldingFeature.HALF_OPENED uchun API 24+ (Android 7.0) talab qilinadi. Mentesh burchagi sensori Android 10+ da mavjud.
Yo‘q. Jetpack WindowManager dan Window Size Class va Layoutomization dan foydalaning. O‘lcham sinfini tekshirish bilan yagona kod alohida resurs joylashuvlarini almashtiradi.
Aksariyat buklanadigan qurilmalar IP48 yoki IP58 himoyasiga ega — cheklangan suv o‘tkazmaslik. Suv ostida egiluvchan displey shikastlanishi mumkin, shuning uchun suvga botirish ishlab chiqaruvchilar tomonidan tavsiya etilmaydi.
Xulosa
Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz
IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.