Split Screen — ay isang mode ng nahating screen na nagbibigay-daan sa sabay-sabay na pagpapatakbo ng dalawang app na magkatabi, na naghahati sa magagamit na espasyo. Maaaring i-drag ng user ang separator sa pagitan ng mga window, baguhin ang mga proporsyon, at mabilis na lumipat ng mga app sa bawat kalahati. Ayon sa Android Developers (2025), ang Split Screen ay bahagi ng sapilitang programa ng compatibility para sa lahat ng device na may lapad ng screen mula 600 dp at sinusuportahan pareho sa Android at iPadOS.
Mga Pangunahing Punto
Split Screen — ay isang multitasking mode kung saan ang screen ay nahahati sa dalawang functional na lugar, bawat isa ay naglalaman ng isang hiwalay na app. Hindi tulad ng Slide Over o PiP, kung saan ang isang window ay lumulutang sa ibabaw ng isa pa, ang Split Screen ay nagbibigay ng pantay na katayuan sa parehong app — bawat isa ay nakakakuha ng kalahati ng screen.
Ang mode ay magagamit sa Android (mula 7.0 Nougat), iPadOS (mula iOS 9), Windows (Snap Assist), at ilang Linux desktop environment. Sa mobile development, ang Split Screen ay itinuturing na isang sapilitang senaryo para sa mga tablet at foldable device, kung saan ang multitasking ay ang pangunahing bentahe ng platform.
Ina-activate ng user ang Split Screen sa pamamagitan ng mahabang pagpindot sa icon ng app sa Overview (Android) o pag-drag mula sa Dock (iPad). Pagkatapos ng activation, nahahati ang screen at pinipili ng user ang pangalawang app mula sa listahan ng mga kamakailan o mula sa Dock.
Sa Android, ang Split Screen ay pinamamahalaan sa pamamagitan ng Window Manager. Kapag na-activate ng user ang mode, gumagawa ang system ng dalawang StackView — isa para sa bawat Activity. Ang separator sa pagitan ng mga window ay iginuhit ng system, ang minimum na kapal nito ay 1 dp, ngunit maaaring tumaas sa mga device na may Gesture Navigation.
Ang bawat app ay tumatanggap ng notification ng pagbabago ng laki sa pamamagitan ng onConfigurationChanged. Kung hindi pinangangasiwaan ng Activity ang event na ito — ito ay masisira at gagawin muli. Para sa mga video at laro, ito ay kritikal: ang muling paggawa ng Activity ay nagre-reset ng posisyon ng playback o estado ng laro.
Ang mga proporsyon ng window ay maaaring baguhin sa pamamagitan ng pag-drag ng separator. Sinusuportahan ng Android ang tatlong estado: 50/50, 70/30, at 30/70. Maaari ring palitan ng user ang mga app — nagiging sanhi ito ng pag-restart ng Activity kung hindi pinangangasiwaan ang configChanges.
Split View — ay ang implementasyon ng Split Screen sa iPadOS. Hindi tulad ng Android kung saan ang paghahati ng screen ay palaging mula sa gitna, ang iPadOS ay nag-aalok sa user ng tatlong posisyon ng separator: 50/50, 25/75, at 75/25. Ang mode ay na-activate sa pamamagitan ng Dock o App Exposé.
Sa iPadOS, ang app sa Split View ay maaaring i-minimize sa Slide Over — isang lumulutang na window. Ito ay isang natatanging tampok ng Apple: maaaring baguhin ng user ang isa sa mga window mula Split View patungong Slide Over at pabalik nang walang pagkawala ng data. Dapat suportahan ng developer ang lahat ng tatlong mode: full screen, Split View, at Slide Over.
Upang suportahan ang Split View sa iOS, dapat ipatupad ng app ang mga adaptive layout sa pamamagitan ng Size Classes at scene (UIScene). Mula noong iOS 13, hinihiling ng Apple na ang app ay wastong pangasiwaan ang multi-window mode — kung hindi, maaaring pilitin ng system na i-restart ang Activity sa iPad.
Sa pagpasok at paglabas ng Split Screen, nangyayari ang mga pagbabago sa configuration: nagbabago ang lapad, taas, at aspect ratio ng window. Ang karaniwang pag-uugali ng Android — muling paggawa ng Activity (onDestroy + onCreate). Upang maiwasan ito, tukuyin ang android:configChanges sa manifest.
Sa muling paggawa ng Activity, nawawala ang estado ng View at ViewModel. Gamitin ang SavedStateHandle para i-save ang UI status o ViewModel na may saklaw na Application. Alternatibo — onRetainNonConfigurationInstance() para sa mga kumplikadong bagay.
@Override
fun onConfigurationChanged(newConfig: Configuration) {
super.onConfigurationChanged(newConfig)
val isSplitScreen = isInMultiWindowMode()
if (isSplitScreen) {
adjustLayoutForSplitScreen()
}
}
Sa iPadOS, katulad na mekanismo — traitCollectionDidChange o viewWillTransitionToSize. Natatanggap ng developer ang bagong laki ng container at dapat muling itayo ang layout ayon sa Size Class.
Sa Android, ang pagsuporta sa Split Screen ay nagsisimula sa pagtatakda ng flag na resizeableActivity sa manifest. Pagkatapos nito, ang Activity ay maaaring lumiit hanggang sa minimum na lapad na 220 dp. Kung hindi sinusuportahan ng app ang napakakitid na screen — tukuyin ang android:minWidth sa manifest.
Para sa iPad, sapat na para sa developer na suportahan ang Size Classes at gamitin ang Auto Layout o SwiftUI. SwiftUI ay awtomatikong nag-a-adapt ng interface sa paglipat sa Split View — halimbawa, ang NavigationSplitView ay lumilipat sa pagitan ng stacked at side-by-side na mga mode.
Inirerekomenda na subukan ang Split Screen sa mga totoong device o sa emulator na may setting na multi-resizable window. Pinapayagan ng Android Emulator na magpatakbo ng anumang bilang ng mga window sa pamamagitan ng ADB at suriin ang pag-uugali ng app sa iba't ibang proporsyon.
| Platform | Mekanismo ng pag-adapt | Minimum na lapad |
|---|---|---|
| Android | resizeableActivity + configChanges | 220 dp |
| iPadOS | Size Classes + UIScene | 320 pt (primary) |
Unang pagkakamali — hindi pagpapansin sa pag-save ng estado. Sa Split Screen, ang Activity ay maaaring gawing muli anumang oras nang walang interbensyon ng user. Kung ang data ay nakaimbak lamang sa mga lokal na variable — mawawala ang mga ito. Gamitin ang ViewModel para sa data ng screen at SavedStateHandle para sa mga kritikal na estado.
Pangalawang pagkakamali — pagtatago ng nilalaman kapag lumiliit ang window. Ang ilang developer ay nagtatago ng mga elemento kapag ang lapad ay nagiging mas mababa sa isang tiyak na threshold. Ang tamang diskarte — muling pagtatayo ng layout: sa makitid na screen, ipakita lamang ang pinakamahalaga, huwag itago ang lahat. Ang Window Size Class ay nagbibigay ng mga handa na breakpoint para sa lohikang ito.
Pangatlong pagkakamali — hindi pagpapaandar ng onWindowFocusChanged. Sa Split Screen, ang focus ay maaaring lumipat sa pagitan ng mga window nang hindi isinasara ang app. Ang hindi pagpansin sa event na ito ay humahantong sa paghinto ng video player kapag tumingin lamang ang user sa kalapit na window.
Mga Madalas Itanong
Gamitin ang Intent na may FLAG_ACTIVITY_LAUNCH_ADJACENT. Kung ang device ay nasa Split Screen mode, ang app ay magbubukas sa katabing window. Kung ang device ay nasa full screen mode — ang flag ay hindi papansinin.
Oo. Ang Activity ay nananatiling nakikita ngunit nawawalan ng focus — onPause ang tinatawag, ngunit hindi onStop. Sa paglabas ng Split Screen, tinatawag ang onMultiWindowModeChanged, pagkatapos ay onResume.
Gamitin ang WindowManager.getCurrentWindowMetrics() o Jetpack WindowManager. Huwag gamitin ang Display.getSize() — ibinabalik nito ang buong screen, hindi ang kasalukuyang window ng app.
Oo. Sa nakabukang device, ang Split Screen ay madalas na default na mode. Samsung Galaxy Z Fold sa landscape mode ay nag-aalok ng Split Screen na may tatlong app nang sabay-sabay.
Itakda ang android:resizeableActivity="false" para sa Activity na iyon. Para sa API 24+, ipinagbabawal ng flag ang Split Screen. Sa Android 12L+ gamitin ang android:minWidth at android:minHeight.
Buod
Gagawa kami ng mobile application na turnkey
Gumagawa ang IT Sectr ng mga iOS at Android application para sa mga startup at negosyo mula noong 2017. Magpapayo kami sa iyo at magmumungkahi ng pinakamahusay na solusyon.
Basahin din