Corner Radius — bu nədir, mobil tətbiqlərdə yuvarlaqlaşdırma radiusu

Müəllif: IT Sectr Dərc olunub: 2026-02-28 Oxuma vaxtı: 9 dəq

Corner radius — UI elementlərinin künclərinin yuvarlaqlaşdırılma parametridir, məntiqi piksellərlə (iOS-da pt, Android-də dp) ölçülür və düzbucaqlının küncünə daxil edilmiş dairənin radiusunu müəyyən edir. Corner radius-un düzgün seçilməsi interfeysin qavranılmasına təsir edir: böyük yuvarlaqlaşdırmalar yumşaq, dostluq tonu yaradır, kiçiklər isə sərt və formal görünür. Material Design Guidelines (Google, 2026) məlumatına görə, kartlar üçün tövsiyə olunan radius 8–16 dp, düymələr üçün 4–8 dp-dir. Elementlərin xarici görünüşünün idarə edilməsi haqqında daha ətraflı UI-də kölgələr haqqında məqalədə oxuyun.

Əsas məqamlar

  • Corner radius — pt (iOS) və ya dp (Android) ilə ölçülən künc yuvarlaqlaşdırma radiusu.
  • Material Design kartlar üçün 8–16 dp, düymələr üçün 4–8 dp, dialoqlar üçün 16–28 dp tövsiyə edir.
  • iOS-da cornerRadius CALayer.cornerRadius və ya SwiftUI-də ClipRRect vasitəsilə təyin edilir.
  • Android-də yuvarlaqlaşdırma shape (drawable XML), MaterialShapeDrawable və ya Compose-da ClipRRect ilə həyata keçirilir.
  • Həddindən artıq böyük yuvarlaqlaşdırma mətnin oxunaqlığını pisləşdirir və kənarlarda məzmunu gizlədə bilər.

Corner radius nədir?

Corner radius — düzbucaqlı elementin künclərinin yuvarlaqlaşdırma dərəcəsini təyin edən ədədi dəyər. Dəyər nə qədər yüksək olsa, künc bir o qədər yuvarlaqlaşır. 0 dəyərində künc düz (90°) qalır, kiçik tərəfin yarısına bərabər dəyərdə element dairəyə (kvadrat üçün) və ya düz tərəfləri olan yuvarlaqlaşdırılmış düzbucaqlıya (kapsula) çevrilir.

Mobil dizaynda corner radius aşağıdakılar üçün istifadə olunur: kartlar və piltələr, düymələr, daxiletmə sahələri, modal pəncərələr, şəkillər və avatarlar, gedişat göstəriciləri, çiplər və badge-lər. Hər bir element növü Material Design və Human Interface Guidelines qaydalarına əsaslanan tövsiyə olunan diapazona malikdir.

Material Design 3 (Google, 2026) məlumatına görə, künc yuvarlaqlaşdırması üç səviyyəyə bölünür: small (4 dp) düymələr və daxiletmə sahələri üçün, medium (8–12 dp) kartlar və vərəqlər üçün, large (16–28 dp) dialoqlar və bottom sheet-lər üçün. HIG Apple (2025) sistem elementləri (UIButton, UITextField) üçün vahid corner radius 10–12 pt və modal təqdimatlar üçün 20+ pt tövsiyə edir.

iOS-da corner radius: CALayer və SwiftUI

iOS-da künc yuvarlaqlaşdırması CALayer-də cornerRadius xüsusiyyəti ilə həyata keçirilir. UIKit-də hər UIView-un cornerRadius təyin edilə bilən təbəqəsi var. Daha mürəkkəb yuvarlaqlaşdırmalar (müxtəlif künclər üçün fərqli radiuslar) üçün UIBezierPath ilə birlikdə maskedCorners və CACornerMask istifadə olunur.

swift
// UIKit: CALayer vasitəsilə yuvarlaqlaşdırma
import UIKit

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

SwiftUI-də yuvarlaqlaşdırma cornerRadius() modifikatoru və ya RoundedRectangle ilə ClipShape vasitəsilə təyin edilir. SwiftUI həmçinin clipped() və overlay() ilə birlikdə UIRectCorner vasitəsilə fərdi künc yuvarlaqlaşdırmasını dəstəkləyir.

swift
// SwiftUI: RoundedRectangle vasitəsilə yuvarlaqlaşdırma
import SwiftUI

VStack {
    Text("Künc radiusu 16")
        .padding()
        .background(
            RoundedRectangle(cornerRadius: 16)
                .fill(Color.blue)
        )
}

// Fərdi künc yuvarlaqlaşdırması
RoundedRectangle(
    cornerSize: CGSize(width: 16, height: 16),
    style: .continuous
)

Continuous corner radius — Apple tərəfindən iOS 7-dən etibarən istifadə olunan yuvarlaqlaşdırma üslubu. Klassik radiusdan (circular) fərqli olaraq, continuous radius dairə qövsü əvəzinə üçüncü dərəcəli Bezier əyrisindən istifadə edərək daha hamar yuvarlaqlaşdırma yaradır. SwiftUI bu üslubu RoundedRectangle-da style: .continuous parametri ilə dəstəkləyir. Apple continuous corner radius-u vizual olaraq daha təbii olduğu üçün bütün sistem elementləri üçün tövsiyə edir.

Android-də corner radius: shape və Compose

Android-də künc yuvarlaqlaşdırması ənənəvi olaraq res/drawable qovluğunda XML shape resursları vasitəsilə həyata keçirilir. Shape cornerRadius və solid parametrləri ilə fon formasını təyin edir. Müxtəlif künclər üçün <, bottom, top və <right istifadə olunur. Material Design 3-ə temaları və dinamik formaları dəstəkləyən MaterialShapeDrawable əlavə edilmişdir.

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>

Jetpack Compose-da yuvarlaqlaşdırma Modifier-də shape parametri ilə təyin edilir. Compose hər künc üçün fərqli radiusları və üslubu (CircularShape və ya CutCornerShape) dəstəkləyən RoundedCornerShape təqdim edir. Compose həmçinin qrafik konturla birlikdə RoundedCornerShape vasitəsilə continuous corner radius-u dəstəkləyir.

kotlin
// Jetpack Compose: RoundedCornerShape vasitəsilə yuvarlaqlaşdırma
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 = "Fərdi yuvarlaqlaşdırma ilə kart")
}

MaterialShapeDrawable Android View System-də drawable-ı yenidən yaratmadan corner radius-u dinamik dəyişməyə imkan verir. Dəqiq konfiqurasiya üçün ShapeAppearanceModel-dən istifadə edin: hər künc üçün ayrıca cornerFamily (rounded və ya cut) və cornerSize təyin edin.

Düzgün corner radius-u necə seçməli

Corner radius seçimi elementin növündən, istifadə kontekstindən və platformadan asılıdır. Universal qayda yoxdur, lakin Material Design və HIG Apple standart komponentlər üçün aydın tövsiyələr verir. Əsas prinsip: yuvarlaqlaşdırma nəzərə çarpan olmalı, lakin məzmuna mane olmamalıdır.

Element növüTövsiyə olunan radiusPlatformaQeyd
Düymələr4–8 dp / 8 ptiOS, AndroidDüymə nə qədər böyükdürsə, radius da o qədər böyük olur
Kartlar8–16 dp / 10–12 ptiOS, AndroidMaterial Design: defolt 12 dp
Daxiletmə sahələri4–8 dp / 8 ptiOS, AndroidHəddindən artıq böyük yuvarlaqlaşdırma qeyri-təbii görünür
Modal pəncərələr16–28 dp / 20+ ptiOS, AndroidiOS 18: defolt 24 pt
AvatarlarÖlçünün 50%-iiOS, AndroidDairəvi avatarlar üçün radius = tərəfin yarısı
Çiplər / Badge-lər16–20 dp / 14 ptAndroidBöyük yuvarlaqlaşdırmada kapsul forması

Kontrast qaydası: bir interfeysdə fərqli corner radius-a malik elementlər vizual fərqin nəzərə çarpması üçün ən azı 4 dp ilə fərqlənməlidir. Bir ekranda 3 səviyyə yuvarlaqlaşdırmadan istifadə etməyin — bu vizual səs-küy yaradır. Material Design 3 ekranda iki səviyyədən çox olmayan yuvarlaqlaşdırma tövsiyə edir: biri konteynerlər üçün (kartlar, dialoqlar) və biri interaktiv elementlər üçün (düymələr, sahələr).

Flutter-də corner radius

Flutter-də künc yuvarlaqlaşdırması Radius.circular() və ya Radius.elliptical() dəyərlərini qəbul edən BorderRadius sinfi ilə həyata keçirilir. Flutter BorderRadius.only() və BorderRadius.horizontal()/vertical() vasitəsilə fərdi yuvarlaqlaşdırmanı dəstəkləyir. ClipRRect vidjeti verilmiş BorderRadius üzrə uşaq elementi kəsir.

dart
// Flutter: ClipRRect və Container vasitəsilə yuvarlaqlaşdırma
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('Fərdi künc yuvarlaqlaşdırması'),
)

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

ClipRRect Flutter-də şəkli və ya mürəkkəb vidjeti yuvarlaqlaşdırılmış sərhəd boyunca kəsmək lazım olduqda istifadə olunur. Sadə fon konteynerləri üçün borderRadius ilə BoxDecoration kifayətdir — bu daha məhsuldardır, çünki ayrıca kəsici təbəqə yaratmır. Material Flutter 3.22+ ContinuousRectangleBorder vasitəsilə continuous corner radius-u dəstəkləyir.

Tez-tez verilən suallar

Corner radius dp ilə pt arasında nə fərq var?

dp (density-independent pixels) Android-də və pt (points) iOS-da — piksellərin sıxlığından asılı olmayaraq ekrandakı fiziki ölçüyə uyğun gələn məntiqi vahidlərdir. 1 dp ≈ 1 pt ≈ 1/160 düym. Corner radius-un dp və pt-də ədədi dəyərləri platformalar arasında dizayn köçürərkən bir-birini əvəz edə bilən kimi istifadə oluna bilər.

Yalnız yuxarı küncləri necə yuvarlaqlaşdırmaq olar?

iOS-da CACornerMask ilə maskedCorners istifadə edin: layer.maskedCorners = [.layerMinXMinYCorner, .layerMaxXMinYCorner]. Android XML-də — . Jetpack Compose-da — RoundedCornerShape(topStart = 12.dp, topEnd = 12.dp). Flutter-də — BorderRadius.only(topLeft: Radius.circular(12), topRight: Radius.circular(12)).

Continuous corner radius nədir?

Continuous corner radius — küncün dairə qövsü ilə deyil, üçüncü dərəcəli Bezier əyrisi ilə formalaşdığı yuvarlaqlaşdırma üslubudur. Apple bu üslubu iOS 7-dən bütün sistem elementləri üçün istifadə edir. Vizual olaraq continuous yuvarlaqlaşdırma klassik circular üslubu ilə müqayisədə daha hamar və təbii görünür.

Fərdi klaviatura üçün hansı corner radius istifadə edilməlidir?

iOS-da 10–12 pt (sistem klaviaturası kimi) və Android-də 8–12 dp tövsiyə olunur. Klaviatura daxilindəki düymələr daha kiçik radiusa (4–6 dp) malik ola bilər və ya yuvarlaqlaşdırılmaya bilər. Toxunma sahəsini artırmaq üçün yuvarlaqlaşdırılmış sərhədlə düymənin kənarı arasında 4–8 dp padding istifadə edin.

Niyə UITableViewCell-ə künc yuvarlaqlaşdırması tətbiq olunmur?

UITableViewCell avtomatik olaraq contentView-dən cornerRadius-u miras almır, çünki hüceyrənin fonu backgroundView-də çəkilir. Hüceyrəni yuvarlaqlaşdırmaq üçün cornerRadius-u həm contentView.layer, həm də backgroundView.layer üçün təyin edin. SwiftUI-də RoundedRectangle ilə .listRowBackground() istifadə edin.

Nəticə

  • Corner radius — dp (Android) və ya pt (iOS) ilə ölçülən UI elementlərinin künc yuvarlaqlaşdırma radiusu.
  • Material Design kartlar üçün 8–16 dp, düymələr üçün 4–8 dp, dialoqlar üçün 16–28 dp tövsiyə edir.
  • iOS-da yuvarlaqlaşdırma CALayer.cornerRadius (UIKit) və ya RoundedRectangle (SwiftUI) ilə təyin edilir.
  • Android-də — shape XML (View System) və ya RoundedCornerShape (Jetpack Compose) ilə.
  • Continuous corner radius — iOS 7-dən iOS-da istifadə olunan Bezier əyrisi ilə daha hamar yuvarlaqlaşdırma.
  • Flutter konteynerlərin yuvarlaqlaşdırılması və şəkillərin kəsilməsi üçün BorderRadius və ClipRRect istifadə edir.
  • Vizual bütövlüyü qorumaq üçün bir ekranda ikidən çox yuvarlaqlaşdırma səviyyəsindən istifadə etməyin.

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.

Layihəni müzakirə et

Həm də oxuyun