Corner Radius — ano ito, radius ng pagbilog sa mga mobile app

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

Corner radius — parameter ng pagbilog ng mga sulok ng UI elements, sinusukat sa lohikal na pixels (pt sa iOS, dp sa Android) na tumutukoy sa radius ng bilog na nakasulat sa sulok ng parihaba. Ang tamang pagpili ng corner radius ay nakakaapekto sa persepsyon ng interface: ang malalaking pagbilog ay lumilikha ng malambot, palakaibigang tono, ang maliliit — mahigpit at pormal. Ayon sa Material Design Guidelines (Google, 2026), ang inirerekomendang radius para sa mga card ay 8–16 dp, para sa mga buton — 4–8 dp. Magbasa pa tungkol sa pamamahala ng hitsura ng mga elemento sa artikulo tungkol sa mga anino sa UI.

Mga pangunahing punto

  • Corner radius — radius ng pagbilog ng mga sulok, sinusukat sa pt (iOS) o dp (Android).
  • Ang Material Design ay nagrerekomenda ng 8–16 dp para sa mga card, 4–8 dp para sa mga buton, 16–28 dp para sa mga dialog.
  • Sa iOS, ang cornerRadius ay itinatakda sa pamamagitan ng CALayer.cornerRadius o ClipRRect sa SwiftUI.
  • Sa Android, ang pagbilog ay isinasagawa sa pamamagitan ng shape (drawable XML), MaterialShapeDrawable o ClipRRect sa Compose.
  • Ang sobrang laking pagbilog ay nakakasira sa pagiging madaling mabasa ng teksto at maaaring magtago ng nilalaman sa mga gilid.

Ano ang corner radius?

Corner radius — isang numerikong halaga na tumutukoy sa antas ng pagbilog ng mga sulok ng isang parihabang elemento. Kung mas mataas ang halaga, mas nagiging bilog ang sulok. Sa halagang 0, ang sulok ay nananatiling tuwid (90°), sa halagang katumbas ng kalahati ng mas maikling gilid, ang elemento ay nagiging bilog (para sa parisukat) o isang bilugang parihaba na may tuwid na mga gilid (kapsula).

Sa mobile design, ang corner radius ay ginagamit para sa: mga card at tile, mga buton, mga field ng input, mga modal window, mga larawan at avatar, mga indicator ng progreso, mga chip at badge. Ang bawat uri ng elemento ay may inirerekomendang saklaw ng pagbilog, batay sa mga alituntunin ng Material Design at Human Interface Guidelines.

Ayon sa Material Design 3 (Google, 2026), ang pagbilog ng mga sulok ay inuuri sa tatlong antas: small (4 dp) para sa mga buton at field ng input, medium (8–12 dp) para sa mga card at sheet, large (16–28 dp) para sa mga dialog at bottom sheet. HIG Apple (2025) ay nagrerekomenda ng pare-parehong corner radius na 10–12 pt para sa mga elemento ng system (UIButton, UITextField) at 20+ pt para sa mga modal presentation.

Corner radius sa iOS: CALayer at SwiftUI

Sa iOS ang pagbilog ng mga sulok ay isinasagawa sa pamamagitan ng property na cornerRadius sa CALayer. Sa UIKit, bawat UIView ay may layer kung saan maaaring itakda ang cornerRadius. Para sa mas kumplikadong pagbilog (iba't ibang radius para sa iba't ibang sulok) ay ginagamit ang maskedCorners at CACornerMask kasama ng UIBezierPath.

swift
// UIKit: pagbilog sa pamamagitan ng CALayer
import UIKit

let cardView = UIView()
cardView.backgroundColor = .systemBackground
cardView.layer.cornerRadius = 12
cardView.layer.maskedCorners = [
    .layerMinXMinYCorner,
    .layerMaxXMinYCorner
]

Sa SwiftUI ang pagbilog ay itinatakda sa pamamagitan ng modifier na cornerRadius() o sa pamamagitan ng ClipShape na may RoundedRectangle. Sinusuportahan din ng SwiftUI ang indibidwal na pagbilog ng sulok sa pamamagitan ng UIRectCorner kasama ng clipped() at overlay().

swift
// SwiftUI: pagbilog sa pamamagitan ng RoundedRectangle
import SwiftUI

VStack {
    Text("Radius ng sulok 16")
        .padding()
        .background(
            RoundedRectangle(cornerRadius: 16)
                .fill(Color.blue)
        )
}

// Indibidwal na pagbilog ng sulok
RoundedRectangle(
    cornerSize: CGSize(width: 16, height: 16),
    style: .continuous
)

Continuous corner radius — ang istilo ng pagbilog na ginagamit ng Apple sa iOS mula noong paglabas ng iOS 7. Hindi tulad ng klasikong radius (circular), ang continuous radius ay lumilikha ng mas makinis na pagbilog sa pamamagitan ng paggamit ng Bezier curve ng ikatlong order sa halip na arko ng bilog. Sinusuportahan ng SwiftUI ang istilong ito sa pamamagitan ng parameter na style: .continuous sa RoundedRectangle. Inirerekomenda ng Apple ang continuous corner radius para sa lahat ng elemento ng system bilang mas natural sa paningin.

Corner radius sa Android: shape at Compose

Sa Android ang pagbilog ng mga sulok ay tradisyonal na isinasagawa sa pamamagitan ng XML shape resources sa folder na res/drawable. Ang Shape ay tumutukoy sa hugis ng background na may mga parameter na cornerRadius at solid. Para sa iba't ibang sulok ay ginagamit ang <, bottom, top at <right. Sa Material Design 3 ay idinagdag ang MaterialShapeDrawable na may suporta para sa mga tema at dynamic na hugis.

xml
<!-- res/drawable/bg_card.xml -->
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/white" />
    <corners android:radius="12dp" />
</shape>

Sa Jetpack Compose ang pagbilog ay itinatakda sa pamamagitan ng parameter na shape sa Modifier. Nagbibigay ang Compose ng RoundedCornerShape na may suporta para sa iba't ibang radius para sa bawat sulok at istilo (CircularShape o CutCornerShape). Sinusuportahan din ng Compose ang continuous corner radius sa pamamagitan ng RoundedCornerShape kasama ng graphical contour.

kotlin
// Jetpack Compose: pagbilog sa pamamagitan ng RoundedCornerShape
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp

Card(
    shape = RoundedCornerShape(
        topStart = 16.dp,
        topEnd = 16.dp,
        bottomStart = 4.dp,
        bottomEnd = 4.dp
    ),
    elevation = CardDefaults.cardElevation(defaultElevation = 4.dp)
) {
    Text(text = "Card na may custom na pagbilog")
}

MaterialShapeDrawable sa Android View System ay nagbibigay-daan sa dynamic na pagbabago ng corner radius nang hindi muling nililikha ang drawable. Gamitin ang ShapeAppearanceModel para sa tumpak na configuration: itakda ang cornerFamily (rounded o cut) at cornerSize para sa bawat sulok nang hiwalay.

Paano pumili ng tamang corner radius

Ang pagpili ng corner radius ay depende sa uri ng elemento, konteksto ng paggamit at platform. Walang unibersal na patakaran, ngunit ang Material Design at HIG Apple ay nagbibigay ng malinaw na rekomendasyon para sa mga karaniwang component. Ang pangunahing prinsipyo: ang pagbilog ay dapat na kapansin-pansin, ngunit hindi makagambala sa nilalaman.

Uri ng elementoInirerekomendang radiusPlatformTala
Mga buton4–8 dp / 8 ptiOS, AndroidKung mas malaki ang buton, mas malaki ang radius
Mga card8–16 dp / 10–12 ptiOS, AndroidMaterial Design: default 12 dp
Mga field ng input4–8 dp / 8 ptiOS, AndroidAng sobrang laking pagbilog ay mukhang hindi natural
Mga modal window16–28 dp / 20+ ptiOS, AndroidiOS 18: default 24 pt
Mga avatar50% ng lakiiOS, AndroidPara sa bilog na avatar radius = kalahati ng gilid
Mga chip / Badge16–20 dp / 14 ptAndroidHugis kapsula sa malaking pagbilog

Panuntunan ng contrast: ang mga elementong may magkaibang corner radius sa isang interface ay dapat magkaiba ng hindi bababa sa 4 dp upang ang visual na pagkakaiba ay kapansin-pansin. Huwag gumamit ng 3 antas ng pagbilog sa isang screen — ito ay lumilikha ng visual na ingay. Inirerekomenda ng Material Design 3 ang paggamit ng hindi hihigit sa dalawang antas ng pagbilog bawat screen: isa para sa mga container (card, dialog) at isa para sa mga interactive na elemento (buton, field).

Corner radius sa Flutter

Sa Flutter ang pagbilog ng mga sulok ay isinasagawa sa pamamagitan ng klase na BorderRadius, na tumatanggap ng mga halaga na Radius.circular() o Radius.elliptical(). Sinusuportahan ng Flutter ang indibidwal na pagbilog sa pamamagitan ng BorderRadius.only() at BorderRadius.horizontal()/vertical(). Ang widget na ClipRRect ay pumuputol sa child element ayon sa ibinigay na BorderRadius.

dart
// Flutter: pagbilog sa pamamagitan ng ClipRRect at Container
import 'package:flutter/material.dart';

Container(
    decoration: BoxDecoration(
        color: Colors.white,
        borderRadius: BorderRadius.only(
            topLeft: Radius.circular(16.0),
            topRight: Radius.circular(16.0),
            bottomLeft: Radius.circular(4.0),
            bottomRight: Radius.circular(4.0),
        ),
    ),
    child: Text('Custom na pagbilog ng sulok'),
)

// ClipRRect na may Image
ClipRRect(
    borderRadius: BorderRadius.circular(12.0),
    child: Image.network(
        'https://example.com/image.jpg',
        fit: BoxFit.cover,
    ),
)

ClipRRect sa Flutter ay ginagamit kapag kailangang putulin ang isang larawan o kumplikadong widget sa kahabaan ng bilugang hangganan. Para sa simpleng background container, ang BoxDecoration na may borderRadius ay sapat — ito ay mas mahusay dahil hindi ito lumilikha ng hiwalay na cutting layer. Ang Material Flutter 3.22+ ay sumusuporta sa continuous corner radius sa pamamagitan ng ContinuousRectangleBorder.

Mga madalas itanong

Ano ang pagkakaiba ng corner radius sa dp at pt?

dp (density-independent pixels) sa Android at pt (points) sa iOS — ay mga lohikal na yunit na tumutugma sa pisikal na laki sa screen nang hiwalay sa density ng pixel. 1 dp ≈ 1 pt ≈ 1/160 pulgada. Ang mga numerikong halaga ng corner radius sa dp at pt ay maaaring gamitin bilang mapagpapalit kapag naglilipat ng disenyo sa pagitan ng mga platform.

Paano gawing bilog lamang ang mga sulok sa itaas?

Sa iOS gamitin ang maskedCorners na may CACornerMask: layer.maskedCorners = [.layerMinXMinYCorner, .layerMaxXMinYCorner]. Sa Android XML — . Sa Jetpack Compose — RoundedCornerShape(topStart = 12.dp, topEnd = 12.dp). Sa Flutter — BorderRadius.only(topLeft: Radius.circular(12), topRight: Radius.circular(12)).

Ano ang continuous corner radius?

Continuous corner radius — isang istilo ng pagbilog kung saan ang sulok ay nabubuo hindi sa pamamagitan ng arko ng bilog, kundi sa pamamagitan ng Bezier curve ng ikatlong order. Ginagamit ng Apple ang istilong ito mula noong iOS 7 para sa lahat ng elemento ng system. Sa paningin, ang continuous pagbilog ay mukhang mas makinis at natural kumpara sa klasikong circular na istilo.

Anong corner radius ang gagamitin para sa custom na keyboard?

Inirerekomenda ang 10–12 pt sa iOS (tulad ng system keyboard) at 8–12 dp sa Android. Ang mga key sa loob ng keyboard ay maaaring magkaroon ng mas maliit na radius (4–6 dp) o walang pagbilog. Para mapataas ang touch area, gumamit ng padding na 4–8 dp sa pagitan ng bilugang hangganan at gilid ng buton.

Bakit hindi naa-apply ang pagbilog ng sulok sa UITableViewCell?

Ang UITableViewCell ay hindi nagmamana ng cornerRadius mula sa contentView nang awtomatiko, dahil ang background ng cell ay iginuhit sa backgroundView. Para bilugan ang cell, itakda ang cornerRadius para sa contentView.layer at backgroundView.layer nang sabay. Sa SwiftUI gamitin ang .listRowBackground() na may RoundedRectangle.

Buod

  • Corner radius — radius ng pagbilog ng mga sulok ng UI elements, sinusukat sa dp (Android) o pt (iOS).
  • Ang Material Design ay nagrerekomenda ng 8–16 dp para sa mga card, 4–8 dp para sa mga buton, 16–28 dp para sa mga dialog.
  • Sa iOS ang pagbilog ay itinatakda sa pamamagitan ng CALayer.cornerRadius (UIKit) o RoundedRectangle (SwiftUI).
  • Sa Android — sa pamamagitan ng shape XML (View System) o RoundedCornerShape (Jetpack Compose).
  • Continuous corner radius — mas makinis na pagbilog sa pamamagitan ng Bezier curve, ginagamit sa iOS mula noong iOS 7.
  • Ang Flutter ay gumagamit ng BorderRadius at ClipRRect para sa pagbilog ng mga container at pagputol ng mga larawan.
  • Huwag gumamit ng higit sa dalawang antas ng pagbilog sa isang screen upang mapanatili ang visual na integridad.

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