Split Screen — bölünmüş ekran rejimidir, eyni anda iki proqramı yan-yana işə salmağa, mövcud yeri bölməyə imkan verir. İstifadəçi pəncərələr arasında ayırıcını sürükləyə, nisbətləri dəyişə və hər yarıda proqramları tez dəyişə bilər. Android Developers (2025)-ə görə, Split Screen ekran eni 600 dp-dən olan bütün cihazlar üçün məcburi uyğunluq proqramına daxildir və həm Android, həm də iPadOS tərəfindən dəstəklənir.
Əsas məqamlar
Split Screen — çox tapşırıqlı rejimdir, burada ekran iki funksional sahəyə bölünür, hər biri ayrı bir proqramı ehtiva edir. Slide Over və ya PiP-dən fərqli olaraq, bir pəncərə digərinin üstündə üzür, Split Screen hər iki proqrama bərabər status verir — hər biri öz yarısını alır.
Rejim Android (7.0 Nougat-dan), iPadOS (iOS 9-dan), Windows (Snap Assist) və bəzi Linux iş masası mühitlərində mövcuddur. Mobil inkişafda Split Screen planşetlər və qatlanan cihazlar üçün məcburi ssenari hesab olunur, burada çox tapşırıqlılıq platformanın əsas üstünlüyüdür.
İstifadəçi Overview-da (Android) proqram ikonasına uzun basmaqla və ya Dock-dan (iPad) sürükləməklə Split Screen-i aktivləşdirir. Aktivləşdirmədən sonra ekran bölünür və istifadəçi son istifadə olunanlar siyahısından və ya Dock-dan ikinci proqramı seçir.
Android-də Split Screen Window Manager vasitəsilə idarə olunur. İstifadəçi rejimi aktivləşdirdikdə, sistem iki StackView yaradır — hər Activity üçün bir. Pəncərələr arasında ayırıcı sistem tərəfindən çəkilir, minimum qalınlığı 1 dp-dir, lakin Gesture Navigation olan cihazlarda artırıla bilər.
Hər proqram onConfigurationChanged vasitəsilə ölçü dəyişikliyi barədə bildiriş alır. Əgər Activity bu hadisəni idarə etmirsə — məhv edilir və yenidən yaradılır. Video və oyunlar üçün bu kritikdir: Activity-nin yenidən yaradılması oxutma mövqeyini və ya oyun vəziyyətini sıfırlayır.
Pəncərə nisbətləri ayırıcını sürükləməklə dəyişdirilə bilər. Android üç vəziyyəti dəstəkləyir: 50/50, 70/30 və 30/70. İstifadəçi proqramları yerlərini dəyişə bilər — bu, configChanges idarə edilmirsə, Activity-nin yenidən başlamasına səbəb olur.
Split View — iPadOS-da Split Screen-in tətbiqidir. Android-də ekran bölgüsü həmişə mərkəzdən gedir, iPadOS istifadəçiyə üç ayırıcı mövqeyi təklif edir: 50/50, 25/75 və 75/25. Rejim Dock və ya App Exposé vasitəsilə aktivləşir.
iPadOS-da Split View-də olan proqram Slide Over-a — üzən pəncərəyə yığıla bilər. Bu Apple-ın unikal xüsusiyyətidir: istifadəçi Split View-dən bir pəncərəni Slide Over-a çevirə və məlumat itkisi olmadan geri qaytara bilər. Tərtibatçı hər üç rejimi dəstəkləməlidir: full screen, Split View və Slide Over.
iOS-da Split View-i dəstəkləmək üçün proqram Size Classes və səhnə (UIScene) vasitəsilə adaptiv layoutları tətbiq etməlidir. iOS 13-dən Apple tələb edir ki, proqram çoxpəncərə rejimini düzgün idarə etsin — əks halda sistem iPad-də Activity-ni məcburi yenidən başlada bilər.
Split Screen-ə daxil olarkən və çıxarkən konfiqurasiya dəyişiklikləri baş verir: pəncərənin eni, hündürlüyü və tərəf nisbəti dəyişir. Android-in standart davranışı — Activity-nin yenidən yaradılması (onDestroy + onCreate). Bunun qarşısını almaq üçün manifestdə android:configChanges təyin edin.
Activity yenidən yaradıldıqda View və ViewModel vəziyyətini itirir. UI vəziyyətini saxlamaq üçün SavedStateHandle və ya Application-a qədər əhatə dairəsi olan ViewModel istifadə edin. Alternativ — mürəkkəb obyektlər üçün onRetainNonConfigurationInstance().
@Override
fun onConfigurationChanged(newConfig: Configuration) {
super.onConfigurationChanged(newConfig)
val isSplitScreen = isInMultiWindowMode()
if (isSplitScreen) {
adjustLayoutForSplitScreen()
}
}
iPadOS-da oxşar mexanizm — traitCollectionDidChange və ya viewWillTransitionToSize. Tərtibatçı konteynerin yeni ölçüsünü alır və layoutu Size Class-a uyğun yenidən qurmalıdır.
Android-də Split Screen dəstəyi manifestdə resizeableActivity bayrağının təyin edilməsi ilə başlayır. Bundan sonra Activity minimum 220 dp genişliyə qədər kiçilə bilər. Proqram belə dar ekranı dəstəkləmirsə — manifestdə android:minWidth təyin edin.
iPad üçün tərtibatçıya Size Classes-ı dəstəkləmək və Auto Layout və ya SwiftUI istifadə etmək kifayətdir. SwiftUI Split View-ə keçərkən interfeysi avtomatik adaptasiya edir — məsələn, NavigationSplitView stacked və side-by-side rejimləri arasında keçid edir.
Split Screen-i real cihazlarda və ya multi-resizable window tənzimləməsi olan emulyatorda sınamaq tövsiyə olunur. Android Emulator ADB vasitəsilə ixtiyari sayda pəncərə işə salmağa və proqramın müxtəlif nisbətlərdə davranışını yoxlamağa imkan verir.
| Platforma | Adaptasiya mexanizmi | Minimum genişlik |
|---|---|---|
| Android | resizeableActivity + configChanges | 220 dp |
| iPadOS | Size Classes + UIScene | 320 pt (primary) |
Birinci səhv — vəziyyətin saxlanmasını göz ardı etmək. Split Screen-də Activity istifadəçinin iştirakı olmadan istənilən anda yenidən yaradıla bilər. Məlumatlar yalnız lokal dəyişənlərdə saxlanılırsa — itiriləcək. Ekran məlumatları üçün ViewModel və kritik vəziyyətlər üçün SavedStateHandle istifadə edin.
İkinci səhv — pəncərə kiçildikdə məzmunu gizlətmək. Bəzi tərtibatçılar en müəyyən həddən aşağı düşdükdə elementləri gizlədir. Düzgün yanaşma — layoutu yenidən qurmaq: dar ekranda yalnız ən vacib şeyi göstərin, hər şeyi gizlətməyin. Window Size Class bu məntiq üçün hazır breakpoint-lər verir.
Üçüncü səhv — onWindowFocusChanged-i idarə etməmək. Split Screen-də fokus proqramı bağlamadan pəncərələr arasında keçə bilər. Bu hadisəni göz ardı etmək video pleyerin dayanmasına gətirib çıxarır, çünki istifadəçi sadəcə qonşu pəncərəyə baxdı.
Tez-tez verilən suallar
FLAG_ACTIVITY_LAUNCH_ADJACENT ilə Intent istifadə edin. Cihaz Split Screen rejimindədirsə, proqram qonşu pəncərədə açılacaq. Cihaz tam ekran rejimindədirsə — bayraq nəzərə alınmır.
Bəli. Activity görünən qalır, lakin fokusu itirir — onPause çağırılır, lakin onStop çağırılmır. Split Screen-dən çıxarkən onMultiWindowModeChanged, sonra onResume çağırılır.
WindowManager.getCurrentWindowMetrics() və ya Jetpack WindowManager istifadə edin. Display.getSize() istifadə etməyin — tam ekranı qaytarır, proqramın cari pəncərəsini yox.
Bəli. Açılmış vəziyyətdə olan cihazda Split Screen tez-tez standart rejimdir. Samsung Galaxy Z Fold üfüqi rejimdə eyni anda üç proqramla Split Screen təklif edir.
Bu Activity üçün android:resizeableActivity="false" təyin edin. API 24+ üçün bayraq Split Screen-i qadağan edir. Android 12L+-də android:minWidth və android:minHeight istifadə edin.
Nəticə
Açar təslim mobil tətbiq hazırlayacağıq
IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.
Həm də oxuyun