Corner Radius — wat is het, afrondingsradius in mobiele apps

Auteur: IT Sectr Gepubliceerd: 2026-02-28 Leestijd: 9 min

Corner radius — parameter voor het afronden van hoeken van UI-elementen, gemeten in logische pixels (pt op iOS, dp op Android), die de straal bepaalt van de cirkel die in de hoek van de rechthoek past. De juiste keuze van corner radius beïnvloedt de perceptie van de interface: grote afrondingen creëren een zachte, vriendelijke toon, kleine — streng en formeel. Volgens Material Design Guidelines (Google, 2026) is de aanbevolen radius voor kaarten 8–16 dp, voor knoppen — 4–8 dp. Lees meer over het beheren van het uiterlijk van elementen in het artikel over schaduwen in UI.

Belangrijkste punten

  • Corner radius — afrondingsstraal van hoeken, gemeten in pt (iOS) of dp (Android).
  • Material Design beveelt 8–16 dp aan voor kaarten, 4–8 dp voor knoppen, 16–28 dp voor dialoogvensters.
  • Op iOS wordt cornerRadius ingesteld via CALayer.cornerRadius of ClipRRect in SwiftUI.
  • In Android wordt afronding gerealiseerd via shape (drawable XML), MaterialShapeDrawable of ClipRRect in Compose.
  • Te grote afronding vermindert de leesbaarheid van tekst en kan inhoud aan de randen verbergen.

Wat is corner radius?

Corner radius — een numerieke waarde die de mate van afronding van de hoeken van een rechthoekig element bepaalt. Hoe hoger de waarde, hoe ronder de hoek wordt. Bij waarde 0 blijft de hoek recht (90°), bij een waarde gelijk aan de helft van de kortste zijde verandert het element in een cirkel (voor een vierkant) of een afgeronde rechthoek met rechte zijden (capsule).

In mobiel ontwerp wordt corner radius gebruikt voor: kaarten en tegels, knoppen, invoervelden, modale vensters, afbeeldingen en avatar's, voortgangsindicatoren, chips en badges. Elk type element heeft een aanbevolen bereik voor afronding, gebaseerd op de richtlijnen van Material Design en Human Interface Guidelines.

Volgens Material Design 3 (Google, 2026) wordt hoekafronding ingedeeld in drie niveaus: small (4 dp) voor knoppen en invoervelden, medium (8–12 dp) voor kaarten en bladen, large (16–28 dp) voor dialoogvensters en bottom sheets. HIG Apple (2025) beveelt een uniforme corner radius van 10–12 pt aan voor systeemelementen (UIButton, UITextField) en 20+ pt voor modale presentaties.

Corner radius op iOS: CALayer en SwiftUI

Op iOS wordt hoekafronding gerealiseerd via de eigenschap cornerRadius van CALayer. In UIKit heeft elke UIView een laag waarvan cornerRadius kan worden ingesteld. Voor complexere afrondingen (verschillende stralen voor verschillende hoeken) worden maskedCorners en CACornerMask in combinatie met UIBezierPath gebruikt.

swift
// UIKit: afronding via CALayer
import UIKit

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

In SwiftUI wordt afronding ingesteld via de modifier cornerRadius() of via ClipShape met RoundedRectangle. SwiftUI ondersteunt ook individuele hoekafronding via UIRectCorner in combinatie met clipped() en overlay().

swift
// SwiftUI: afronding via RoundedRectangle
import SwiftUI

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

// Individuele hoekafronding
RoundedRectangle(
    cornerSize: CGSize(width: 16, height: 16),
    style: .continuous
)

Continuous corner radius — de afrondingsstijl die Apple in iOS gebruikt sinds de release van iOS 7. In tegenstelling tot de klassieke radius (circular), creëert continuous radius een vloeiendere afronding door gebruik te maken van een Bezier-curve van de derde orde in plaats van een cirkelboog. SwiftUI ondersteunt deze stijl via de parameter style: .continuous in RoundedRectangle. Apple beveelt continuous corner radius aan voor alle systeemelementen als visueel natuurlijker.

Corner radius in Android: shape en Compose

In Android wordt hoekafronding traditioneel gerealiseerd via XML-shape-bronnen in de map res/drawable. Shape definieert de vorm van de achtergrond met parameters cornerRadius en solid. Voor verschillende hoeken worden <, bottom, top en <right gebruikt. In Material Design 3 is MaterialShapeDrawable toegevoegd met ondersteuning voor thema's en dynamische vormen.

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>

In Jetpack Compose wordt afronding ingesteld via de parameter shape bij Modifier. Compose biedt RoundedCornerShape met ondersteuning voor verschillende stralen voor elke hoek en stijl (CircularShape of CutCornerShape). Compose ondersteunt ook continuous corner radius via RoundedCornerShape in combinatie met grafische contour.

kotlin
// Jetpack Compose: afronding via 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 = "Kaart met aangepaste afronding")
}

MaterialShapeDrawable in Android View System maakt het mogelijk om corner radius dynamisch te wijzigen zonder de drawable opnieuw te maken. Gebruik ShapeAppearanceModel voor nauwkeurige configuratie: stel cornerFamily (rounded of cut) en cornerSize in voor elke hoek afzonderlijk.

Hoe kies je de juiste corner radius

De keuze van corner radius hangt af van het type element, de gebruikscontext en het platform. Er is geen universele regel, maar Material Design en HIG Apple geven duidelijke aanbevelingen voor standaardcomponenten. Het basisprincipe: afronding moet merkbaar zijn, maar de inhoud niet hinderen.

Type elementAanbevolen radiusPlatformOpmerking
Knoppen4–8 dp / 8 ptiOS, AndroidHoe groter de knop, hoe groter de radius
Kaarten8–16 dp / 10–12 ptiOS, AndroidMaterial Design: standaard 12 dp
Invoervelden4–8 dp / 8 ptiOS, AndroidTe grote afronding ziet er onnatuurlijk uit
Modale vensters16–28 dp / 20+ ptiOS, AndroidiOS 18: standaard 24 pt
Avatar's50% van de grootteiOS, AndroidVoor ronde avatar's radius = helft van de zijde
Chips / Badges16–20 dp / 14 ptAndroidCapsulevorm bij grote afronding

Contrastregel: elementen met verschillende corner radius in één interface moeten minimaal 4 dp verschillen om het visuele verschil merkbaar te maken. Gebruik geen 3 niveaus van afronding op één scherm — dit creëert visuele ruis. Material Design 3 beveelt aan om niet meer dan twee niveaus van afronding per scherm te gebruiken: één voor containers (kaarten, dialoogvensters) en één voor interactieve elementen (knoppen, velden).

Corner radius in Flutter

In Flutter wordt hoekafronding gerealiseerd via de klasse BorderRadius, die waarden Radius.circular() of Radius.elliptical() accepteert. Flutter ondersteunt individuele afronding via BorderRadius.only() en BorderRadius.horizontal()/vertical(). De widget ClipRRect snijdt het onderliggende element bij volgens de opgegeven BorderRadius.

dart
// Flutter: afronding via ClipRRect en 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('Aangepaste hoekafronding'),
)

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

ClipRRect in Flutter wordt gebruikt wanneer een afbeelding of complexe widget moet worden bijgesneden langs een afgeronde rand. Voor eenvoudige achtergrondcontainers is BoxDecoration met borderRadius voldoende — dit is efficiënter omdat het geen aparte bijsnijdlaag creëert. Material Flutter 3.22+ ondersteunt continuous corner radius via ContinuousRectangleBorder.

Veelgestelde vragen

Wat is het verschil tussen corner radius in dp en pt?

dp (density-independent pixels) in Android en pt (points) in iOS — zijn logische eenheden die overeenkomen met de fysieke grootte op het scherm, onafhankelijk van de pixeldichtheid. 1 dp ≈ 1 pt ≈ 1/160 inch. Numerieke waarden van corner radius in dp en pt kunnen als uitwisselbaar worden gebruikt bij het overbrengen van ontwerp tussen platforms.

Hoe rond je alleen de bovenste hoeken af?

Op iOS gebruik je maskedCorners met CACornerMask: layer.maskedCorners = [.layerMinXMinYCorner, .layerMaxXMinYCorner]. In Android XML — . In Jetpack Compose — RoundedCornerShape(topStart = 12.dp, topEnd = 12.dp). In Flutter — BorderRadius.only(topLeft: Radius.circular(12), topRight: Radius.circular(12)).

Wat is continuous corner radius?

Continuous corner radius — een afrondingsstijl waarbij de hoek niet wordt gevormd door een cirkelboog, maar door een Bezier-curve van de derde orde. Apple gebruikt deze stijl sinds iOS 7 voor alle systeemelementen. Visueel ziet continuous afronding er vloeiender en natuurlijker uit in vergelijking met de klassieke circular-stijl.

Welke corner radius moet ik gebruiken voor een aangepast toetsenbord?

Aanbevolen wordt 10–12 pt op iOS (zoals het systeemtoetsenbord) en 8–12 dp op Android. Toetsen binnen het toetsenbord kunnen een kleinere radius hebben (4–6 dp) of zonder afronding zijn. Gebruik padding van 4–8 dp tussen de afgeronde rand en de rand van de knop om het aanraakoppervlak te vergroten.

Waarom wordt hoekafronding niet toegepast op UITableViewCell?

UITableViewCell erft cornerRadius niet automatisch van contentView, omdat de achtergrond van de cel wordt getekend in backgroundView. Om de cel af te ronden, stel je cornerRadius in voor zowel contentView.layer als backgroundView.layer tegelijk. Gebruik in SwiftUI .listRowBackground() met RoundedRectangle.

Samenvatting

  • Corner radius — afrondingsstraal van UI-elementhoeken, gemeten in dp (Android) of pt (iOS).
  • Material Design beveelt 8–16 dp aan voor kaarten, 4–8 dp voor knoppen, 16–28 dp voor dialoogvensters.
  • Op iOS wordt afronding ingesteld via CALayer.cornerRadius (UIKit) of RoundedRectangle (SwiftUI).
  • In Android — via shape XML (View System) of RoundedCornerShape (Jetpack Compose).
  • Continuous corner radius — vloeiendere afronding via Bezier-curve, gebruikt in iOS sinds iOS 7.
  • Flutter gebruikt BorderRadius en ClipRRect voor het afronden van containers en bijsnijden van afbeeldingen.
  • Gebruik niet meer dan twee niveaus van afronding op één scherm om visuele integriteit te behouden.

We ontwikkelen een mobiele applicatie turnkey

IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.

Bespreek het project

Lees ook