Corner Radius — mobil uygulamalarda yuvarlama yarıçapı nedir

Yazar: IT Sectr Yayınlanma: 2026-02-28 Okuma süresi: 9 dk

Corner radius, mantıksal piksellerle (iOS'ta pt, Android'de dp) ölçülen ve bir dikdörtgenin köşesine çizilen dairenin yarıçapını tanımlayan UI öğelerinin köşelerini yuvarlama parametresidir. Doğru corner radius seçimi arayüz algısını etkiler: büyük yuvarlamalar yumuşak, dostça bir ton oluşturur, küçükler — katı ve resmi. Material Design Guidelines'a (Google, 2026) göre kartlar için önerilen radius 8–16 dp, düğmeler için — 4–8 dp'dir. Öğelerin görünümünü yönetme hakkında daha fazla bilgi için UI'da gölgeler hakkındaki makaleye bakın.

Ana noktalar

  • Corner radius — köşe yuvarlama yarıçapı, pt (iOS) veya dp (Android) cinsinden ölçülür.
  • Material Design kartlar için 8–16 dp, düğmeler için 4–8 dp, diyaloglar için 16–28 dp önerir.
  • iOS'ta cornerRadius, CALayer.cornerRadius veya SwiftUI'de ClipRRect ile ayarlanır.
  • Android'de yuvarlama, shape (drawable XML), MaterialShapeDrawable veya Compose'da ClipRRect ile uygulanır.
  • Aşırı yuvarlama metin okunabilirliğini bozar ve kenarlardaki içeriği gizleyebilir.

Corner radius nedir?

Corner radius, dikdörtgen bir öğenin köşelerinin yuvarlama derecesini belirleyen sayısal bir değerdir. Değer ne kadar yüksekse, köşe o kadar yuvarlak olur. 0 değerinde köşe dik açılı (90°) kalır; kısa kenarın yarısına eşit bir değerde, öğe bir daireye (kare için) veya düz kenarlı yuvarlak bir dikdörtgene (kapsül) dönüşür.

Mobil tasarımda corner radius şunlar için kullanılır: kartlar ve döşemeler, düğmeler, giriş alanları, modal pencereler, görüntüler ve avatarlar, ilerleme göstergeleri, çipler ve rozetler. Her öğe türünün Material Design ve Human Interface Guidelines'a dayalı önerilen bir yuvarlama aralığı vardır.

Material Design 3'e (Google, 2026) göre köşe yuvarlama üç seviyede sınıflandırılır: küçük (4 dp) düğmeler ve giriş alanları için, orta (8–12 dp) kartlar ve sayfalar için, büyük (16–28 dp) diyaloglar ve alt sayfalar için. Apple HIG (2025), sistem öğeleri (UIButton, UITextField) için 10–12 pt'lik tek tip bir corner radius ve modal sunumlar için 20+ pt önerir.

iOS'ta Corner radius: CALayer ve SwiftUI

iOS'ta, köşe yuvarlama CALayer'ın cornerRadius özelliği aracılığıyla uygulanır. UIKit'te her UIView'in cornerRadius'u ayarlanabilen bir katmanı vardır. Daha karmaşık yuvarlamalar (farklı köşeler için farklı yarıçaplar) için UIBezierPath ile birlikte maskedCorners ve CACornerMask kullanılır.

swift
// UIKit: CALayer ile yuvarlama
import UIKit

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

SwiftUI'da yuvarlama, cornerRadius() değiştiricisi veya RoundedRectangle ile ClipShape aracılığıyla ayarlanır. SwiftUI ayrıca clipped() ve overlay() ile birlikte UIRectCorner aracılığıyla bireysel köşe yuvarlamayı da destekler.

swift
// SwiftUI: RoundedRectangle ile yuvarlama
import SwiftUI

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

// Bireysel köşe yuvarlama
RoundedRectangle(
    cornerSize: CGSize(width: 16, height: 16),
    style: .continuous
)

Continuous corner radius, Apple'ın iOS 7'den beri iOS'ta kullandığı bir yuvarlama stilidir. Klasik yarıçapın (dairesel) aksine, sürekli yarıçap, dairesel bir yay yerine üçüncü dereceden bir Bezier eğrisi kullanarak daha pürüzsüz bir yuvarlama oluşturur. SwiftUI, RoundedRectangle'daki style: .continuous parametresi aracılığıyla bu stili destekler. Apple, görsel olarak daha doğal olduğu için tüm sistem öğeleri için continuous corner radius önerir.

Android'de Corner radius: shape ve Compose

Android'de, köşe yuvarlama geleneksel olarak res/drawable klasöründeki XML shape kaynakları aracılığıyla uygulanır. Shape, cornerRadius ve solid parametreleriyle arka plan şeklini tanımlar. Farklı köşeler için <corners android:bottomLeftRadius="..." /> kullanılır. Material Design 3'te tema desteği ve dinamik şekillerle MaterialShapeDrawable eklenmiştir.

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 yuvarlama, Modifier'ın shape parametresi aracılığıyla ayarlanır. Compose, her köşe ve stil (CircularShape veya CutCornerShape) için farklı yarıçapları destekleyen RoundedCornerShape sağlar. Compose ayrıca grafik konturla birlikte RoundedCornerShape aracılığıyla continuous corner radius'u da destekler.

kotlin
// Jetpack Compose: RoundedCornerShape ile yuvarlama
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 = "Özel yuvarlamalı Card")
}

Android View Sistemindeki MaterialShapeDrawable, drawable'ı yeniden oluşturmadan corner radius'u dinamik olarak değiştirmeye olanak tanır. Hassas yapılandırma için ShapeAppearanceModel kullanın: her köşe için ayrı ayrı cornerFamily (rounded veya cut) ve cornerSize ayarlayın.

Doğru corner radius nasıl seçilir

Corner radius seçimi, öğe türüne, kullanım bağlamına ve platforma bağlıdır. Evrensel bir kural yoktur, ancak Material Design ve Apple HIG standart bileşenler için net öneriler sağlar. Ana ilke: yuvarlama fark edilebilir olmalı ancak içeriğe müdahale etmemelidir.

Öğe TürüÖnerilen RadiusPlatformNotlar
Düğmeler4–8 dp / 8 ptiOS, AndroidDüğme ne kadar büyükse, radius o kadar büyük
Kartlar8–16 dp / 10–12 ptiOS, AndroidMaterial Design: 12 dp varsayılan
Giriş Alanları4–8 dp / 8 ptiOS, AndroidAşırı yuvarlama doğal görünmez
Modal Pencereler16–28 dp / 20+ ptiOS, AndroidiOS 18: 24 pt varsayılan
AvatarlarBoyutun %50'siiOS, AndroidYuvarlak avatarlar için radius = kenarın yarısı
Çipler / Rozetler16–20 dp / 14 ptAndroidBüyük yuvarlamayla kapsül şekli

Kontrast kuralı: aynı arayüzde farklı corner radius'a sahip öğeler, görsel farkın fark edilebilmesi için en az 4 dp farklı olmalıdır. Bir ekranda 3 seviye yuvarlama kullanmayın — bu görsel gürültü yaratır. Material Design 3, ekran başına ikiden fazla yuvarlama seviyesi kullanılmamasını önerir: biri kaplar (kartlar, diyaloglar) için ve biri etkileşimli öğeler (düğmeler, alanlar) için.

Flutter'da Corner radius

Flutter'da, köşe yuvarlama BorderRadius sınıfı aracılığıyla uygulanır; bu sınıf Radius.circular() veya Radius.elliptical() değerlerini kabul eder. Flutter, BorderRadius.only() ve BorderRadius.horizontal()/vertical() aracılığıyla bireysel yuvarlamayı destekler. ClipRRect widget'ı, verilen BorderRadius'a göre alt öğeyi kırpar.

dart
// Flutter: ClipRRect ve Container ile yuvarlama
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('Özel köşe yuvarlama'),
)

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

Flutter'da ClipRRect, bir görüntüyü veya karmaşık widget'ı yuvarlak bir sınır boyunca kırpmanız gerektiğinde kullanılır. Basit arka plan kapları için borderRadius ile BoxDecoration yeterlidir — bu, ayrı bir kırpma katmanı oluşturmadığı için daha verimlidir. Material Flutter 3.22+, ContinuousRectangleBorder aracılığıyla continuous corner radius'u destekler.

Sık sorulan sorular

dp'deki corner radius pt'den nasıl farklıdır?

Android'de dp (density-independent pixels) ve iOS'ta pt (points), piksel yoğunluğundan bağımsız olarak ekrandaki fiziksel boyuta karşılık gelen mantıksal birimlerdir. 1 dp ≈ 1 pt ≈ 1/160 inç. dp ve pt cinsinden corner radius sayısal değerleri, platformlar arasında tasarım taşınırken birbirinin yerine kullanılabilir.

Sadece üst köşeler nasıl yuvarlanır?

iOS'ta CACornerMask ile maskedCorners kullanın: layer.maskedCorners = [.layerMinXMinYCorner, .layerMaxXMinYCorner]. Android XML'de — . Jetpack Compose'da — RoundedCornerShape(topStart = 12.dp, topEnd = 12.dp). Flutter'da — BorderRadius.only(topLeft: Radius.circular(12), topRight: Radius.circular(12)).

Continuous corner radius nedir?

Continuous corner radius, köşenin dairesel bir yay yerine üçüncü dereceden bir Bezier eğrisi ile oluşturulduğu bir yuvarlama stilidir. Apple, iOS 7'den beri tüm sistem öğeleri için bu stili kullanmaktadır. Görsel olarak, sürekli yuvarlama klasik dairesel stile kıyasla daha pürüzsüz ve doğal görünür.

Özel bir klavye için hangi corner radius kullanılmalıdır?

iOS'ta 10–12 pt (sistem klavyesi gibi) ve Android'de 8–12 dp önerilir. Klavyenin içindeki tuşlar daha küçük radius'a (4–6 dp) sahip olabilir veya yuvarlama olmayabilir. Dokunma alanını artırmak için yuvarlak sınır ile düğme kenarı arasında 4–8 dp padding kullanın.

Köşe yuvarlama neden UITableViewCell'e uygulanmaz?

UITableViewCell, hücrenin arka planı backgroundView'da çizildiği için contentView'dan cornerRadius'u otomatik olarak devralmaz. Bir hücreyi yuvarlamak için contentView.layer ve backgroundView.layer üzerinde aynı anda cornerRadius ayarlayın. SwiftUI'de RoundedRectangle ile .listRowBackground() kullanın.

Özet

  • Corner radius — UI öğelerinin köşe yuvarlama yarıçapı, dp (Android) veya pt (iOS) cinsinden ölçülür.
  • Material Design kartlar için 8–16 dp, düğmeler için 4–8 dp, diyaloglar için 16–28 dp önerir.
  • iOS'ta yuvarlama CALayer.cornerRadius (UIKit) veya RoundedRectangle (SwiftUI) ile ayarlanır.
  • Android'de — shape XML (View System) veya RoundedCornerShape (Jetpack Compose) ile.
  • Continuous corner radius — Bezier eğrisiyle daha pürüzsüz yuvarlama, iOS 7'den beri iOS'ta kullanılır.
  • Flutter, kapları yuvarlamak ve görüntüleri kırpmak için BorderRadius ve ClipRRect kullanır.
  • Görsel bütünlüğü korumak için bir ekranda ikiden fazla yuvarlama seviyesi kullanmayın.

Anahtar teslim bir mobil uygulama geliştireceğiz

IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.

Projeyi tartış

Ayrıca okuyun