Corner radius UI तत्वों के कोनों को गोल करने का एक पैरामीटर है, जिसे लॉजिकल पिक्सल (iOS पर pt, Android पर dp) में मापा जाता है और यह एक आयत के कोने में अंकित वृत्त की त्रिज्या निर्धारित करता है। सही corner radius चुनना इंटरफ़ेस की धारणा को प्रभावित करता है: बड़े गोलाई एक नरम, मैत्रीपूर्ण स्वर बनाते हैं, छोटे — सख्त और औपचारिक। Material Design Guidelines (Google, 2026) के अनुसार, कार्ड के लिए अनुशंसित radius 8–16 dp है, बटन के लिए — 4–8 dp। तत्वों की उपस्थिति प्रबंधन के बारे में अधिक जानकारी के लिए UI में छाया पर लेख पढ़ें।
मुख्य बातें
Corner radius एक संख्यात्मक मान है जो एक आयताकार तत्व के कोनों के गोलाई की डिग्री निर्धारित करता है। मान जितना अधिक होगा, कोना उतना ही अधिक गोल हो जाता है। मान 0 पर, कोना समकोण (90°) रहता है; छोटी भुजा के आधे के बराबर मान पर, तत्व एक वृत्त (वर्ग के लिए) या सीधी भुजाओं वाला गोल आयत (कैप्सूल) बन जाता है।
मोबाइल डिज़ाइन में, corner radius का उपयोग इसके लिए किया जाता है: कार्ड और टाइल्स, बटन, इनपुट फ़ील्ड, मॉडल विंडो, चित्र और अवतार, प्रगति संकेतक, चिप्स और बैज। प्रत्येक तत्व प्रकार में Material Design और Human Interface Guidelines पर आधारित गोलाई की अनुशंसित सीमा होती है।
Material Design 3 (Google, 2026) के अनुसार, कोने की गोलाई को तीन स्तरों में वर्गीकृत किया गया है: छोटा (4 dp) बटन और इनपुट फ़ील्ड के लिए, मध्यम (8–12 dp) कार्ड और शीट के लिए, बड़ा (16–28 dp) डायलॉग और बॉटम शीट के लिए। Apple HIG (2025) सिस्टम तत्वों (UIButton, UITextField) के लिए 10–12 pt का एक समान corner radius और मॉडल प्रस्तुतियों के लिए 20+ pt अनुशंसित करता है।
iOS पर, कोने की गोलाई CALayer की cornerRadius प्रॉपर्टी के माध्यम से कार्यान्वित की जाती है। UIKit में, प्रत्येक UIView में एक लेयर होती है जिसके cornerRadius को सेट किया जा सकता है। अधिक जटिल गोलाई (विभिन्न कोनों के लिए अलग-अलग त्रिज्या) के लिए, UIBezierPath के साथ maskedCorners और CACornerMask का उपयोग किया जाता है।
// UIKit: CALayer के माध्यम से गोलाई
import UIKit
let cardView = UIView()
cardView.backgroundColor = .systemBackground
cardView.layer.cornerRadius = 12
cardView.layer.maskedCorners = [
.layerMinXMinYCorner,
.layerMaxXMinYCorner
]
SwiftUI में, गोलाई cornerRadius() मॉडिफायर या RoundedRectangle के साथ ClipShape के माध्यम से सेट की जाती है। SwiftUI clipped() और overlay() के साथ UIRectCorner के माध्यम से व्यक्तिगत कोने की गोलाई का भी समर्थन करता है।
// SwiftUI: RoundedRectangle के माध्यम से गोलाई
import SwiftUI
VStack {
Text("Corner Radius 16")
.padding()
.background(
RoundedRectangle(cornerRadius: 16)
.fill(Color.blue)
)
}
// व्यक्तिगत कोने की गोलाई
RoundedRectangle(
cornerSize: CGSize(width: 16, height: 16),
style: .continuous
)
Continuous corner radius एक गोलाई शैली है जिसका उपयोग Apple iOS 7 से iOS में कर रहा है। क्लासिक त्रिज्या (वृत्ताकार) के विपरीत, सतत त्रिज्या एक वृत्ताकार चाप के बजाय तीसरे क्रम के Bezier वक्र का उपयोग करके चिकनी गोलाई बनाती है। SwiftUI RoundedRectangle में style: .continuous पैरामीटर के माध्यम से इस शैली का समर्थन करता है। Apple सभी सिस्टम तत्वों के लिए continuous corner radius की सिफारिश करता है क्योंकि यह देखने में अधिक प्राकृतिक है।
Android में, कोने की गोलाई पारंपरिक रूप से res/drawable फ़ोल्डर में XML shape संसाधनों के माध्यम से कार्यान्वित की जाती है। Shape cornerRadius और solid पैरामीटर के साथ पृष्ठभूमि आकार को परिभाषित करता है। विभिन्न कोनों के लिए, <corners android:bottomLeftRadius="..." /> का उपयोग किया जाता है। Material Design 3 में, थीम समर्थन और गतिशील आकृतियों के साथ MaterialShapeDrawable जोड़ा गया है।
<!-- 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 में, गोलाई Modifier के shape पैरामीटर के माध्यम से सेट की जाती है। Compose प्रत्येक कोने और शैली (CircularShape या CutCornerShape) के लिए अलग-अलग त्रिज्या के समर्थन के साथ RoundedCornerShape प्रदान करता है। Compose ग्राफ़िक स्ट्रोक के साथ RoundedCornerShape के माध्यम से continuous corner radius का भी समर्थन करता है।
// Jetpack Compose: 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")
}
Android View System में MaterialShapeDrawable drawable को पुनः बनाए बिना गतिशील रूप से corner radius बदलने की अनुमति देता है। सटीक कॉन्फ़िगरेशन के लिए ShapeAppearanceModel का उपयोग करें: प्रत्येक कोने के लिए अलग-अलग cornerFamily (rounded या cut) और cornerSize सेट करें।
Corner radius चुनना तत्व के प्रकार, उपयोग संदर्भ और प्लेटफ़ॉर्म पर निर्भर करता है। कोई सार्वभौमिक नियम नहीं है, लेकिन Material Design और Apple HIG मानक घटकों के लिए स्पष्ट सिफारिशें प्रदान करते हैं। मुख्य सिद्धांत: गोलाई ध्यान देने योग्य होनी चाहिए लेकिन सामग्री में हस्तक्षेप नहीं करनी चाहिए।
| तत्व प्रकार | अनुशंसित Radius | प्लेटफ़ॉर्म | नोट्स |
|---|---|---|---|
| बटन | 4–8 dp / 8 pt | iOS, Android | बटन जितना बड़ा, radius उतना बड़ा |
| कार्ड | 8–16 dp / 10–12 pt | iOS, Android | Material Design: 12 dp डिफ़ॉल्ट |
| इनपुट फ़ील्ड | 4–8 dp / 8 pt | iOS, Android | बहुत अधिक गोलाई अप्राकृतिक लगती है |
| मॉडल विंडो | 16–28 dp / 20+ pt | iOS, Android | iOS 18: 24 pt डिफ़ॉल्ट |
| अवतार | आकार का 50% | iOS, Android | गोल अवतार के लिए radius = भुजा का आधा |
| चिप्स / बैज | 16–20 dp / 14 pt | Android | बड़ी गोलाई के साथ कैप्सूल आकार |
कंट्रास्ट नियम: एक ही इंटरफ़ेस में विभिन्न corner radius वाले तत्वों को कम से कम 4 dp का अंतर होना चाहिए ताकि दृश्य अंतर ध्यान देने योग्य हो। एक स्क्रीन पर 3 स्तरों की गोलाई का उपयोग न करें — यह दृश्य शोर पैदा करता है। Material Design 3 प्रति स्क्रीन दो स्तरों से अधिक गोलाई नहीं करने की सिफारिश करता है: एक कंटेनर (कार्ड, डायलॉग) के लिए और एक इंटरैक्टिव तत्वों (बटन, फ़ील्ड) के लिए।
Flutter में, कोने की गोलाई BorderRadius वर्ग के माध्यम से कार्यान्वित की जाती है, जो Radius.circular() या Radius.elliptical() मान स्वीकार करता है। Flutter BorderRadius.only() और BorderRadius.horizontal()/vertical() के माध्यम से व्यक्तिगत गोलाई का समर्थन करता है। ClipRRect विजेट दिए गए BorderRadius के अनुसार चाइल्ड तत्व को क्रॉप करता है।
// Flutter: ClipRRect और 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('कस्टम कोने की गोलाई'),
)
// Image के साथ ClipRRect
ClipRRect(
borderRadius: BorderRadius.circular(12.0),
child: Image.network(
'https://example.com/image.jpg',
fit: BoxFit.cover,
),
)
Flutter में ClipRRect का उपयोग तब किया जाता है जब आपको किसी छवि या जटिल विजेट को गोल सीमा पर क्रॉप करने की आवश्यकता होती है। सरल पृष्ठभूमि कंटेनरों के लिए, borderRadius के साथ BoxDecoration पर्याप्त है — यह अधिक कुशल है क्योंकि यह एक अलग क्रॉपिंग लेयर नहीं बनाता है। Material Flutter 3.22+ ContinuousRectangleBorder के माध्यम से continuous corner radius का समर्थन करता है।
अक्सर पूछे जाने वाले प्रश्न
Android में dp (density-independent pixels) और iOS में pt (points) तार्किक इकाइयाँ हैं जो पिक्सेल घनत्व की परवाह किए बिना स्क्रीन पर भौतिक आकार के अनुरूप होती हैं। 1 dp ≈ 1 pt ≈ 1/160 इंच। dp और pt में corner radius के संख्यात्मक मानों का उपयोग प्लेटफ़ॉर्म के बीच डिज़ाइन स्थानांतरित करते समय एक दूसरे के स्थान पर किया जा सकता है।
iOS पर, CACornerMask के साथ maskedCorners का उपयोग करें: layer.maskedCorners = [.layerMinXMinYCorner, .layerMaxXMinYCorner]। Android XML में — । Jetpack Compose में — RoundedCornerShape(topStart = 12.dp, topEnd = 12.dp)। Flutter में — BorderRadius.only(topLeft: Radius.circular(12), topRight: Radius.circular(12))।
Continuous corner radius एक गोलाई शैली है जिसमें कोना एक वृत्ताकार चाप के बजाय तीसरे क्रम के Bezier वक्र से बनता है। Apple iOS 7 से सभी सिस्टम तत्वों के लिए इस शैली का उपयोग कर रहा है। देखने में, सतत गोलाई क्लासिक वृत्ताकार शैली की तुलना में अधिक चिकनी और प्राकृतिक दिखती है।
iOS पर 10–12 pt (सिस्टम कीबोर्ड की तरह) और Android पर 8–12 dp अनुशंसित है। कीबोर्ड के अंदर की कुंजियों में छोटा radius (4–6 dp) या कोई गोलाई नहीं हो सकती है। स्पर्श क्षेत्र बढ़ाने के लिए, गोल सीमा और बटन किनारे के बीच 4–8 dp का padding उपयोग करें।
UITableViewCell स्वचालित रूप से contentView से cornerRadius प्राप्त नहीं करता क्योंकि सेल की पृष्ठभूमि backgroundView में खींची जाती है। एक सेल को गोल करने के लिए, contentView.layer और backgroundView.layer दोनों पर एक साथ cornerRadius सेट करें। SwiftUI में, RoundedRectangle के साथ .listRowBackground() का उपयोग करें।
सारांश
हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे
IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।
यह भी पढ़ें