Notch — mga batayan, pag-angkop ng interface sa ginupit ng screen

May-akda: IT Sectr Nai-publish: 2026-02-28 Oras ng pagbabasa: 10 min

Notch — isang ginupit sa itaas na bahagi ng display ng iPhone na naglalaman ng front camera, speaker, at Face ID sensors. Unang ipinakilala sa iPhone X (2017), binago ng notch ang approach sa pagdidisenyo ng mobile interfaces: ang lugar ng screen sa paligid ng ginupit ay naging "patay na sona" para sa content. Para iangkop ang interface, ipinakilala ng Apple ang Safe Area — mga margin na ginagarantiyang hindi natatakpan ng notch, bilugang sulok, at Home Indicator ang content. Sa Android, ang katulad na konsepto ay ipinapatupad sa pamamagitan ng safeAreaInsets sa iOS at displayCutout + WindowInsets sa Android.

Mga Pangunahing Punto

  • Safe Area — ang lugar ng screen na garantadong libre mula sa notch, bilugang sulok, at Home Indicator
  • safeAreaInsets — ang property ng UIView sa iOS na nagbabalik ng Safe Area margin para sa bawat gilid
  • displayCutout — ang klase ng Android na naglalarawan ng ginupit o bilugang sulok sa screen
  • WindowInsets — ang sistema ng Android para sa pagkuha ng mga margin sa ilalim ng mga elementong system (status bar, notch)
  • Adaptive na disenyo — ang interface ay dapat na maipakita nang tama sa mga device na may at walang notch

Ano ang Notch?

Notch (ginupit, "kilay") — ang lugar sa itaas na bahagi ng screen ng smartphone kung saan nakalagay ang front camera, speaker ng tawag, proximity at light sensors, at para sa iPhone X at mas bago — ang infrared camera ng Face ID, dot projector, at illuminator (TrueDepth camera system). Ipinakilala ang notch upang mapataas ang kapaki-pakinabang na lugar ng screen habang pinapanatili ang lahat ng kinakailangang sensor — sa halip na itaas na bezel, lumalawak ang display pataas sa paligid ng ginupit.

Mga sukat: ang karaniwang notch ng iPhone ay may lapad na ~34 mm (~209 pt sa portrait orientation para sa 6.1-inch models) at taas na ~5 mm (~30 pt). Sa mga gilid ng notch ay may "mga tainga" (ears) — maliliit na bahagi ng screen sa kanan at kaliwa ng ginupit. Ang kanang "tainga" ay karaniwang nagpapakita ng oras, indicator ng baterya, at Wi-Fi; ang kaliwa — operator at status. Sa landscape orientation, itinago ng iOS ang notch gamit ang itim na bar sa buong lapad ng status bar — hindi ipinapakita ang content sa zone ng ginupit.

Hindi lang iPhone: ang konsepto ng notch ay ginamit ng maraming manufacturer ng Android. Google Pixel 3 XL, OnePlus 6, Huawei P20, Xiaomi Mi 8 — lahat ay may ginupit. Ang ilang manufacturer ay nagtuloy pa: "tulad ng patak" na ginupit (waterdrop notch), punch-hole camera (butas sa screen), slider camera (nauurong module). Ang mga modernong Android flagship (Samsung Galaxy S23+, Google Pixel 8 Pro) ay gumagamit ng punch-hole — isang minimal na butas para sa camera sa itaas na bahagi ng screen, walang malawak na ginupit.

Safe Area sa iOS: safeAreaInsets

Safe Area — ay isang parihabang lugar sa loob ng view na garantadong hindi natatakpan ng mga system interface element: notch, bilugang sulok ng screen (corner radius), Home Indicator, tab bar, at navigation bar. Ang mga sukat ng Safe Area ay ibinabalik sa pamamagitan ng property na UIView.safeAreaInsets — UIEdgeInsets na may mga value na top, left, bottom, right. Para sa iPhone na may notch, ang itaas na margin = ~44 pt (portrait) o ~0 pt (landscape na may itim na bar).

swift
// Paggamit ng safeAreaInsets para sa pagpoposisyon ng content
class NotchAwareViewController: UIViewController {

    override func viewDidLayoutSubviews() {
        super.viewDidLayoutSubviews()

        // Pagbasa ng Safe Area margin
        let safeArea = self.view.safeAreaInsets

        // Pag-log ng mga value para sa debugging
        print("Itaas na inset: \(safeArea.top)")    // ~44 pt na may notch
        print("Ibaba na inset: \(safeArea.bottom)") // ~34 pt na may Home Indicator

        // Pagpoposisyon ng pamagat na isinasaalang-alang ang Safe Area
        titleLabel.frame = CGRect(
            x: safeArea.left + 16,
            y: safeArea.top + 16,
            width: self.view.bounds.width - safeArea.left - safeArea.right - 32,
            height: 44
        )
    }

    // Pamamahala ng mga pagbabago sa Safe Area (pag-ikot, Multi-Tasking)
    override func viewSafeAreaInsetsDidChange() {
        super.viewSafeAreaInsetsDidChange()
        viewDidLayoutSubviews() // Muling pagkalkula ng layout
    }
}

Auto Layout at Safe Area: sa Interface Builder, gamitin ang "Safe Area" bilang anchor target sa halip na "Superview". Para sa programmatic layout, gamitin ang safeAreaLayoutGuide: let guide = view.safeAreaLayoutGuide; titleLabel.topAnchor.constraint(equalTo: guide.topAnchor). Awtomatikong ina-update ng iOS ang safeAreaInsets sa pag-ikot ng device, paglipat sa Split View sa iPad, pagpapakita/pagtatago ng keyboard, at pagbabago ng orientation. Lahat ng standard UIKit controllers (UINavigationController, UITabBarController) ay isinasaalang-alang na ang Safe Area. Ang mga custom na view at controller ay dapat na tahasang gumamit ng safeAreaInsets.

Notch sa Android: DisplayCutout at WindowInsets

DisplayCutout — ang klase ng Android SDK, idinagdag sa API 28 (Android 9.0), na naglalarawan ng lugar ng ginupit sa screen. Maaari itong makuha sa pamamagitan ng WindowInsets.displayCutout(). Ang klase ay nagbabalik ng boundingBoxList — listahan ng mga parihaba na naglalarawan ng (mga) ginupit, at safeInsetTop/safeInsetBottom/safeInsetLeft/safeInsetRight — mga minimal na margin para sa ligtas na pagpapakita ng content. Sinusuportahan ng Android ang iba't ibang configuration ng ginupit: gitna (tulad ng iPhone), gilid (kamera sa sulok), doble (dalawang kamera), punch-hole.

kotlin
// Pag-angkop ng interface sa DisplayCutout sa Activity
class NotchAwareActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        // Pinapayagan ang pagpapakita ng content sa zone ng ginupit (kung kinakailangan)
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
            window.attributes.layoutInDisplayCutoutMode =
                WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER
        }
    }

    override fun onWindowFocusChanged(hasFocus: Boolean) {
        super.onWindowFocusChanged(hasFocus)

        // Pagkuha ng DisplayCutout sa pamamagitan ng WindowInsets
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P && hasFocus) {
            val cutout = window.decorView.rootWindowInsets.displayCutout
            val safeTop = cutout?.safeInsetTop ?: 0

            // Pagtatakda ng margin para sa itaas na content
            headerView.updatePadding(top = safeTop)
        }
    }
}

Mga mode ng pagpapakita (layoutInDisplayCutoutMode): ALWAYS — ang content ay maaaring ipakita sa zone ng ginupit (para sa full-screen apps, video, laro); NEVER — hindi kailanman natatakpan ng content ang ginupit, nagdadagdag ng margin ang system; SHORT_EDGES — ang content ay ipinapakita sa zone ng ginupit lamang sa maikling gilid (para sa portrait apps na may notch sa itaas). Standard mode — SHORT_EDGES (mula Android 12). Para sa punch-hole camera, mas maliit ang ginupit at maraming app ang gumagamit ng ALWAYS para sa maximum na paggamit ng screen.

Ebolusyon ng Notch: mula iPhone X hanggang Dynamic Island

iPhone X (2017) — ang unang smartphone ng Apple na may notch. Naglalaman ang ginupit ng TrueDepth camera para sa Face ID — isang sistema na binubuo ng infrared camera, dot projector (Dot Projector), at illuminator (Flood Illuminator). Mga sukat ng ginupit: ~34 mm × 5 mm. Sa iOS 11, ipinakilala ng Apple ang Safe Area para sa adaptasyon ng mga app. Nahati ang mga user: ang iba ay tinanggap ang notch bilang pangangailangan para sa Face ID, ang iba naman ay binatikos ito dahil sa "pinutol" na screen.

iPhone 13 (2021) — Binawasan ng Apple ang notch ng 20% sa pamamagitan ng paglipat ng speaker sa itaas na bezel ng screen. Ito ang huling klasikong notch. Ang iPhone 14 at 14 Plus (2022) ay nagpanatili ng pinababang notch. Ipinakilala ng iPhone 14 Pro at Pro Max ang Dynamic Island — isang ellipsoid na ginupit na pinagsasama ang camera at Face ID sensors, na dynamic na nagbabago ng hugis at nagpapakita ng mga system notification (timer, musika, pagkonekta ng AirPods). Naging software platform ang Dynamic Island na may sariling API (ActivityKit, Live Activities).

HenerasyonUri ng ginupitMga TampokSafe Area Top
iPhone X–XS (2017–2018)Malaking notchFace ID, 34×5 mm44 pt
iPhone XR (2018)NotchTouch ID, mas maliit na notch44 pt
iPhone 11 (2019)NotchFace ID, malawak na ginupit44 pt
iPhone 12 (2020)NotchSpeaker inilipat sa bezel44 pt
iPhone 13 (2021)Pinababang notch20% mas maliit44 pt
iPhone 14 / 14 Plus (2022)Pinababang notchWalang Face ID (14 Plus)44 pt
iPhone 14 Pro (2022)Dynamic IslandAdaptive na ginupit54 pt
iPhone 15–16 (2023–2024)Dynamic IslandActivityKit, Live Activities54 pt

Dynamic Island — hindi lang isang ginupit, kundi isang interactive na elemento ng interface. Kapag nagkokonekta ng AirPods, lumalawak ang isla na nagpapakita ng icon at status. Ang pagtawag ng taxi (Uber) ay nagpapakita ng oras ng pagdating. Ang timer ay nakikita sa isla kapag pinaliit ang app. Ang Dynamic Island ay available sa iPhone 14 Pro/Pro Max, iPhone 15/15 Pro/15 Pro Max, iPhone 16/16 Pro/16 Pro Max. Safe Area para sa Dynamic Island: itaas na margin = 54 pt (10 pt higit sa klasikong notch).

Mga panuntunan sa disenyo para sa mga interface na may ginupit

Huwag kailanman itago ang content sa likod ng notch — gamitin ang Safe Area o DisplayCutout para sa awtomatikong pagkalkula ng mga margin. Huwag magtakda ng mga fixed margin value (hal. 44 pt) — nag-iiba ang mga ito sa iba't ibang device at orientation. Palaging gamitin ang system API para sa pagbabasa ng Safe Area: safeAreaInsets sa iOS, windowInsets.displayCutout sa Android. Ginagarantiya nito ang tamang pagpapakita sa lahat ng device: iPhone SE (walang notch), iPhone 14 Pro (notch), iPhone 15 (Dynamic Island), iPad (walang notch, ngunit may Home Indicator).

Landscape orientation — isang espesyal na risk zone. Sa iPhone na may notch sa landscape, awtomatikong nagdaragdag ang iOS ng itim na bar sa buong lapad ng status bar (hindi ipinapakita ang content sa kaliwa at kanan ng notch). Ginagawa ito sa pamamagitan ng system Safe Area inset = 0 top, ngunit may pinalaking left/right insets (~47 pt). Huwag subukang i-disable ang behavior na ito — tatanggihan ng App Store ang app na gumagamit ng "bawal" na screen zone para sa content sa landscape. Para sa full-screen na video, gamitin ang AVPlayerViewController, na awtomatikong naglalagay ng mga kontrol sa labas ng notch zone.

PanuntunaniOSAndroid
API para sa marginsafeAreaInsets / safeAreaLayoutGuideWindowInsets.displayCutout.safeInsetTop
Adaptasyon sa pag-ikotviewSafeAreaInsetsDidChangeonWindowFocusChanged
Full-screen modeprefersStatusBarHidden = trueSYSTEM_UI_FLAG_FULLSCREEN
Content ng status barAwtomatiko sa "mga tainga" malapit sa notchSa pamamagitan ng layoutInDisplayCutoutMode
LandscapeItim na bar (awtomatiko)Mga margin mula sa WindowInsets
Video/laroAVPlayerViewController (ligtas)LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS

Background at status bar: kung gumagamit ka ng custom na kulay ng background, dapat nitong punan ang buong lugar ng screen, kasama ang zone sa likod ng notch. Huwag gumuhit ng content sa ibabaw ng status bar — gamitin ang Safe Area. Para sa dark mode, tiyaking nababasa ang status bar: itakda ang preferredStatusBarStyle ayon sa estilo ng iyong background (.default para sa dark text sa light background, .lightContent para sa light text sa dark background).

Pagsubok ng adaptasyon sa Notch

Simulator at emulator: Ang Xcode ay nagbibigay ng mga simulator ng lahat ng modelo ng iPhone na may notch (iPhone X–14) at Dynamic Island (iPhone 14 Pro–15). Ang Android Studio ay nagbibigay ng mga emulator na may iba't ibang configuration ng ginupit (Google Pixel 3 XL, custom emulator na may cutout). Subukan sa portrait at landscape orientation, may at walang keyboard, sa Split View (iPad). Suriin na ang lahat ng content ay nababasa at hindi natatakpan.

Tunay na device: ang notch sa simulator at sa tunay na device ay maaaring magkaiba. Halimbawa, ang simulator ng iPhone 14 Pro ay nagpapakita ng Dynamic Island, ngunit walang tunay na interaktiviti (Live Activities). Sa Android, ang punch-hole camera ay maaaring hindi tumpak na ma-emulate. Ang pinakamahusay na paraan ay ang pagsubok sa mga tunay na device. Minimal set: iPhone SE (walang notch), iPhone 14 (notch), iPhone 15 Pro (Dynamic Island), Android na may punch-hole, Android na may waterfall screen (Samsung Edge).

Mga tool: para sa iOS, gamitin ang Xcode View Debugger na may opsyon na "Show Safe Area Insets" — biswal na magpapakita ng mga hangganan ng Safe Area. Para sa Android — Layout Inspector sa Android Studio, na nagpapakita ng WindowInsets at DisplayCutout sa Attributes panel. Ang Accessibility Inspector ay kapaki-pakinabang din para suriin na ang lahat ng elemento sa loob ng Safe Area ay accessible para sa VoiceOver/TalkBack. Huwag kalimutan ang iPad na walang notch, ngunit may Home Indicator (ibaba margin ~21 pt) at bilugang sulok.

Mga Madalas Itanong

Ano ang laki ng safeAreaInsets para sa iPhone na may notch?

Para sa iPhone na may notch (X–14) sa portrait orientation: top = 44 pt, left = 0, right = 0, bottom = 34 pt (Home Indicator). Para sa iPhone na may Dynamic Island (14 Pro–16): top = 54 pt, bottom = 34 pt. Para sa iPhone SE (walang notch): top = 20 pt (status bar), bottom = 0 pt (kung walang Home Indicator) o 21 pt (para sa mga modelong may Home Indicator). Sa landscape: top = 0, left = 47 pt, right = 47 pt, bottom = 21 pt.

Ano ang pagkakaiba ng Notch at Dynamic Island?

Notch — static na ginupit para sa camera at Face ID sensors. Dynamic Island — isang software-hardware na elemento na nagbabago ng hugis at nagpapakita ng mga notification, timer, Live Activities. Ang Dynamic Island ay available sa iPhone 14 Pro at mas bago. Ang Safe Area para sa Dynamic Island ay mas malaki (top = 54 pt vs 44 pt para sa notch). Sinusuportahan ng Dynamic Island ang ActivityKit API para sa mga third-party na developer.

Paano makukuha ang margin sa ilalim ng ginupit sa Android?

Sa Android, ang margin sa ilalim ng DisplayCutout ay nakukuha sa pamamagitan ng WindowInsets. Tawag: decorView.rootWindowInsets.displayCutout?.safeInsetTop. Para sa API 28+ (Android 9). Ang mode ng pagpapakita ay pinamamahalaan sa pamamagitan ng window.attributes.layoutInDisplayCutoutMode: NEVER (margin), SHORT_EDGES (margin sa maikling gilid), ALWAYS (walang margin). Para sa punch-hole camera, ang safeInsetTop ay katumbas ng taas ng status bar (~24 dp).

Bakit nagpapakita ng itim na bar ang iPhone na may Notch sa landscape orientation?

Sa landscape orientation, awtomatikong nagdaragdag ang iOS ng itim na mga bar sa mga gilid ng screen upang hindi maipakita ang content sa zone ng ginupit. Ito ay system behavior na pinamamahalaan ng Safe Area insets (left/right ~47 pt). Dahilan: sa landscape, ang "mga tainga" sa gilid ng notch ay masyadong maliit para magpakita ng kapaki-pakinabang na content. Para sa full-screen apps (video, laro) ay maaaring gumamit ng AVPlayerViewController na may awtomatikong pamamahala ng player.

Kailangan bang suportahan ang Safe Area sa app?

Oo, ang paggamit ng Safe Area ay sapilitan para sa lahat ng app na inilalathala sa App Store. Sinusuri ito ng Apple sa pagsusuri: kung ang content ay natatakpan ng notch, bilugang sulok, o Home Indicator, ang app ay tatanggihan. Sa Android, rekomendasyon: gamitin ang WindowInsets para sa adaptasyon sa ilalim ng ginupit. Mula Android 12, ang SHORT_EDGES mode ay standard at awtomatikong nagdaragdag ang system ng mga margin sa ilalim ng ginupit para sa mga app na hindi gumagamit ng custom na layout.

Buod

  • Notch — ginupit sa itaas na bahagi ng screen para sa camera at sensors, lumitaw sa iPhone X (2017)
  • Safe Area — lugar ng screen na libre mula sa mga system interface element
  • iOS API — safeAreaInsets at safeAreaLayoutGuide para sa pagpoposisyon ng content
  • Android API — DisplayCutout at WindowInsets para sa pagkuha ng margin sa ilalim ng ginupit
  • Dynamic Island — ebolusyon ng notch sa iPhone 14 Pro+, interactive na elemento na may ActivityKit
  • Landscape — sa landscape orientation, nagdaragdag ang iOS ng itim na bar para sa notch
  • Pagsubok — sapilitang pagsusuri sa mga device na may iba't ibang uri ng ginupit

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.

Pag-usapan ang proyekto

Basahin din