Responsive Design — मूलभूत्यों पर आधारित، स्क्रीन के लिए इंटरफ़ेस अनुकूलन

लेखक: IT Sectr प्रकाशित: 2026-02-25 पढ़ने का समय: 9 मिनट

Responsive Design एक ऑबतर इंटरफ़ेस बनाने का दृष्टिकोण है जिसमें लेआउट स्वचालित रूप से डिवाइस के आकार। ओरिएंटेशन और प्रकार के अनुकूल होता है। मोबाइल डिवेलपमेंट में، responsive design को iOS में size classes और Android में configuration qualifiers के माध्यम से लागू किया जाता है। यह लेख अनुकूलनशील लेआउट के सिद्धांतों। दोनों प्लेटफ़ॉर्म के उपकरणों और कोड उदाहरणों को शामिल करता है।

मुख्य बातें

  • Responsive Design — विभिन्न स्क्रीन आकारों। ओरिएंटेशन और डिवाइस प्रकारों के लिए इंटरफ़ेस अनुकूलन
  • Size Classes — iOS तंत्र क्षैतिज और ऊर्ध्वाधर रूप से कम्पैक्ट या रेगुलर आकार निर्धारित करने के लिए
  • Configuration Qualifiers — विभिन्न स्क्रीन कॉन्फ़िगरेशन के लिए Android संसाधन (layout-w600dp، values-sw600dp)
  • अनुकूलनशील ग्रिड — स्क्रीन की चौड़ाई बदलने पर तत्वों का पुनर्विन्यास। न कि सिर्फ खींचाव
  • Breakpoints — लेआउट अवस्थाओं के बीच संक्रमण बिंदु (उदाहरण: iPhone के लिए 375 pt। iPad के लिए 768 pt)

Responsive Design क्या है।

Responsive Design इंटरफ़ेस बनाने का एक तरीका है जिसमें लेआउट स्क्रीन आकार। ओरिएंटेशन और उपलब्ध स्थान पर प्रतिक्रिया करता है। तत्वों को कार्यक्षमता खोए बिना पुनर्व्यवस्थित करता है। यह शब्द Ethan Marcotte ने 2010 में वेब डिजाइन के लिए गढ़ा था। लेकिन सिद्धांत नेटिव मोबाइल एप्लिकेशन पर पूर्ण रूप से लागू होते हैं।

मोबाइल डिवेलपमेंट में، responsive design का मतलब है कि एक ही एप्लिकेशन सभी डिवाइसों पर सही ढंग से प्रदर्शित हो: iPhone SE (375 pt) से iPad Pro (1024 pt पोर्ट्रेट में) और Android स्मार्टफोन (360 dp) से टैबलेट (800 dp) तक। मुख्य तत्व हैं लचीला ग्रिडअनुकूलनशील छवियां और फ़्रेमवर्क स्तर पर मीडिया क्वेरीज (size classes। qualifiers)।

Apple Developer दस्तावेज़ के अनुसार। एप्लिकेशन सार्वभौमिक (universal) होना चाहिए — बिना अलग iPad बिल्ड के सभी डिवाइसों पर काम करना चाहिए। Google Play Jetpack WindowManager और canonical layouts के माध्यम से अनुकूलनशील लेआउट का उपयोग करने की सिफारिश करता है। टैबलेट अनुकूलन की कमी नकारात्मक समीक्षाओं का एक सामान्य कारण है।

Responsive vs Adaptive Design

शब्द responsive और adaptive अक्सर भ्रमित करते हैं। हालांकि वे विभिन्न दृष्टिकोणों का वर्णन करते हैं। Responsive design एक लचीली ग्रिड का उपयोग करता है जो स्क्रीन की चौड़ाई के अनुसार लगातार समायोजित होती है। Adaptive design पूर्वनिर्धारित breakpoints के लिए निश्चित लेआउट का उपयोग करता है — एप्लिकेशन अचानक उनके बीच स्विच करता है।

विशेषताResponsive DesignAdaptive Design
दृष्टिकोणसहज प्रवाहपृथक् स्विचिंग
ग्रिडप्रतिशत आधारित। तरलप्रति breakpoint निश्चित
कार्यान्वयनAuto Layout। Flexbox। ConstraintLayoutSize Classes। layout-w600dp। अलग storyboards
डिजाइन लेआउट की संख्याएक। लेकिन लचीलाअनेक (फ़ोन पोर्ट्रेट। फ़ोन लैंडस्केप। टैबलेट)

व्यवहार में। मोबाइल एप्लिकेशन दोनों दृष्टिकोणों के संयोजन का उपयोग करते हैं। आधार ग्रिड responsive बनायी जाती है (constraint निर्भरताओं के साथ Auto Layout)। और जब एक breakpoint पर पहुंच जाता है (उदाहरण: चौड़ाई > 600 pt)। लेआउट एक अनुकूलनशील संस्करण पर स्विच करता है जिसमें तत्वों की अलग व्यवस्था होती है। iOS Auto Layout (responsive) को Size Classes (adaptive) के साथ जोड़ता है। Android ConstraintLayout (responsive) को qualifier संसाधनों (adaptive) के साथ जोड़ता है।

iOS Size Classes: Compact और Regular

Size Classes iOS तंत्र है जो उपलब्ध स्क्रीन स्थान को दो अक्षों पर वर्गीकृत करता है: क्षैतिज और ऊर्ध्वाधर। प्रत्येक अक्ष Compact (C) या Regular (R) हो सकता है। संयोजन चार अनुकूलन विकल्प देता है: CR (सामान््य iPhone पोर्ट्रेट)। RR (iPad पोर्ट्रेट/लैंडस्केप)। RC (Plus/Pro Max पर iPhone लैंडस्केप)। CC (iPad Split View)।

swift
// Swift में Size Classes की परिभाषा
import UIKit

class AdaptiveViewController: UIViewController {

    override func traitCollectionDidChange(
        _ previousTraitCollection: UITraitCollection?
    ) {
        super.traitCollectionDidChange(previousTraitCollection)
        adjustLayout(for: traitCollection)
    }

    private func adjustLayout(for traits: UITraitCollection) {
        switch (traits.horizontalSizeClass, traits.verticalSizeClass) {
        case (.regular, .regular):
            showSplitView() // iPad — master-detail दिखाना
        case (.compact, .regular):
            showStackedView() // iPhone पोर्ट्रेट — स्टैक लेआउट
        case (.compact, .compact):
            showCompactView() // iPhone SE लैंडस्केप — न्यूनतम
        default:
            showDefaultView()
        }
    }

    private func showSplitView() {
        // UISplitViewController या HStack का उपयोग करना
    }

    private func showStackedView() {
        // iPhone के लिए ऊर्ध्वाधर स्टैक
    }

    private func showCompactView() {
        // द्वितीयक तत्वों को छुपाना। मुख्य तत्वों को दिखाना
    }
}

Interface Builder में। Size Classes को “wAny hAny” पैनल के माध्यम से कॉन्फ़िगर किया जाता है — डिवेलपर एक विशिष्ट संयोजन (wRegular hRegular। wCompact hRegular) चुनता है और constraint वैरिएंशन जोड़ता है। SwiftUI प्रतिक्रियाशील अनुकूलन के लिए @Environment(\.horizontalSizeClass) और @Environment(\.verticalSizeClass) का उपयोग करता है — जब ओरिएंटेशन या विंडो आकार बदलता है। SwiftUI स्वचालित रूप से व्यू को पुनः खींचता है।

swift
// SwiftUI में Size Classes
import SwiftUI

struct ResponsiveView: View {
    @Environment(\.horizontalSizeClass) private var hSizeClass

    var body: some View {
        if hSizeClass == .regular {
            // iPad — साइडबार के साथ क्षैतिज लेआउट
            HStack {
                SidebarView()
                    .frame(width: 300)
                ContentView()
            }
        } else {
            // iPhone — पूर्ण स्क्रीन ऊर्ध्वाधर स्टैक
            VStack {
                ContentView()
            }
        }
    }
}

Android Configuration Qualifiers

Configuration Qualifiers एक Android तंत्र है जो डिवाइस विशेषताओं के आधार पर विभिन्न संसाधनों (layout। values। drawables) को लोड करने के लिए है। Qualifiers में स्क्रीन आकार (small। normal। large। xlarge)। ओरिएंटेशन (port। land)। न्यूनतम चौड़ाई (swdp)। उपलब्ध चौड़ाई (wdp) और ऊँचाई (hdp) शामिल हैं।

kotlin
// Kotlin में डिवाइस कॉन्फ़िगरेशन निर्धारण
class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        val config = resources.configuration
        val screenWidthDp = config.screenWidthDp
        val screenHeightDp = config.screenHeightDp
        val orientation = config.orientation

        when {
            screenWidthDp >= 900 -> setContentView(R.layout.activity_main_tablet)
            screenWidthDp >= 600 -> setContentView(R.layout.activity_main_sw600)
            else -> setContentView(R.layout.activity_main_phone)
        }
    }

    override fun onConfigurationChanged(newConfig: Configuration) {
        super.onConfigurationChanged(newConfig)
        if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
            supportFragmentManager.beginTransaction()
                .replace(R.id.container, LandscapeFragment())
                .commit()
        }
    }
}

विभिन्न स्क्रीन के लिए संसाधन संरचना: res/layout/activity_main.xml (फ़ोन)। res/layout-sw600dp/activity_main.xml (7” टैबलेट)। res/layout-sw720dp/activity_main.xml (10” टैबलेट)। Android स्वचालित रूप से smallestWidth के आधार पर सही लेआउट चुनता है — ओरिएंटेशन की परवाह किए बिना dp में न्यूनतम स्क्रीन चौड़ाई। swdp qualifier सबसे स्थिर अनुकूलन विधि है।

kotlin
// Jetpack Compose — अनुकूलन के लिए WindowSizeClass
@Composable
fun ResponsiveScreen() {
    val windowSizeClass = currentWindowAdaptiveInfo().windowSizeClass

    when {
        windowSizeClass.windowSizeClass == WindowWidthSizeClass.EXPANDED -> {
            TabletLayout() // >= 840 dp
        }
        windowSizeClass.windowSizeClass == WindowWidthSizeClass.MEDIUM -> {
            MediumLayout() // 600–840 dp
        }
        else -> {
            CompactLayout() // < 600 dp
        }
    }
}

Jetpack WindowManager (androidx.window लाइब्रेरी) तीन चौड़ाई श्रेणियों के साथ WindowSizeClass प्रदान करता है: COMPACT (0–600 dp)। MEDIUM (600–840 dp)। EXPANDED (>840 dp)। यह पुराने qualifier फ़ोल्डर का एक आधुनिक विकल्प है। फ़ोल्डेबल डिवाइसों और टैबलेट के अनुकूलन के लिए Google द्वारा अनुशंसा किया जाता है।

अनुकूलनशील ग्रिड और breakpoints

अनुकूलनशील ग्रिड responsive design की नींव है। निश्चित आकारों के बजाय। तत्व प्रतिशत अनुपातों। लचीले constraints और आंतरिक सामग्री आकार का उपयोग करते हैं। Breakpoints वे स्क्रीन चौड़ाई बिंदु हैं जहां लेआउट अवस्थाओं के बीच स्विच करता है।

BreakpointiOS Size ClassAndroid Qualifierडिवाइस प्रकार
0–374 pt / dpCompact widthiPhone SE। पुराने Android
375–599 pt / dpCompact widthsw320dpiPhone 14। Galaxy S24
600–839 pt / dpRegular widthsw600dpiPad mini। 7” टैबलेट
840+ pt / dpRegular widthsw720dpiPad Pro। 10” टैबलेट

Google Material Design और Apple HIG से अनुशंसित breakpoints: 0–599 dp (फ़ोन। एक कॉलम)। 600–839 dp (टैबलेट। दो कॉलम। navigation rail)। 840+ dp (टैबलेट। तीन कॉलम। navigation drawer)। breakpoints की संख्या 4 से अधिक नहीं होनी चाहिए — अत्यधिक संक्रमण बिंदु रखरखाव और परीक्षण को जटिल बनाते हैं।

अनुकूलनशील डिजाइन के सबसे अच्छे अभ्यास

सफल responsive design के लिए नियमों के एक समूह का पालन आवश्यक है जो पिछले दशक में iOS और Android डिवेलपर समुदाय द्वारा विकसित किए गए हैं। नीचे Apple HIG। Google Material Design और उत्पादन परियोजना अनुभव पर आधारित मुख्य सिफारिशें हैं।

  • सबसे छोटी स्क्रीन से शुरू करें — iPhone SE (375 pt) या Android compact (360 dp) के लिए लेआउट डिजाइन करें। फिर बड़ी स्क्रीन के लिए विस्तार जोड़ें। यह सुनिश्चित करता है कि महत्वपूर्ण सामग्री हर जगह फिट हो
  • आंतरिक सामग्री आकार का उपयोग करें — UILabel। UIButton। ImageView के प्राकृतिक आकार होते हैं। Auto Layout और ConstraintLayout अतिरिक्त constraints के बिना स्वचालित पोजिशनिंग के लिए इसका उपयोग करते हैं
  • छोटी स्क्रीन पर सामग्री न छुपाएं — छुपाने के बजाय। सामग्री को पुनर्व्यवस्थित करें (reflow)। उपयोगकर्ता की पहुंच उसी कार्यक्षमता तक होनी चाहिए। बस अलग अनुक्रम में
  • सभी size classes पर परीक्षण करें — iOS सिमुलेटर बिना पुनर्स्तार के Size Classes बदलने की अनुमति देता है। Android Emulator विभिन्न डिवाइस प्रोफ़ाइल प्रदान करता है। टैबलेट और फ़ोल्डेबल डिवाइसों पर परीक्षण अवश्य करें
  • Material 3 Adaptive Layout — Google सूची/विवरण। उपकरण पैनल और नेविगेशन के लिए तैयार canonical layouts प्रदान करता है। अपने स्वयं के पैटर्न आज़माने के बजाय उन्हें उपयोग करें

अनुकूलनशील डिजाइन का मुख्य सिद्धांत: सामग्री लेआउट निर्धारित करती है। उलटा नहीं। यदि iPad iPhone के समान कार्ड स्टैक को केवल चौड़ा खींचकर दिखाता है — तो वह responsive design नहीं है। Responsive design संरचना को पुनर्व्यावस्थित करता है: iPhone पर — ऊर्ध्वाधर स्क्रोल। iPad पर — साइडबार के साथ master-detail।

अक्सर पूछे जाने वाले प्रश्न

Responsive Design, Adaptive Layout से कैसे अलग है।

Responsive Design एक लचीली ग्रिड का उपयोग करता है जो स्क्रीन की चौड़ाई के अनुसार सहजता से समायोजित होती है। Adaptive Layout breakpoints पर निश्चित लेआउट के बीच स्विच करता है। व्यवहार में। दोनों दृष्टिकोणों को जोड़ा जाता है: responsive आधार ग्रिड + महत्वपूर्ण परिवर्तनों (फ़ोन vs टैबलेट) के लिए अनुकूलनशील स्विच।

iOS में कौन सी Size Classes हैं।

iOS दो अक्षों का उपयोग करता है: क्षैतिज (Compact/Regular) और ऊर्ध्वाधर (Compact/Regular)। iPhone पोर्ट्रेट में — Compact width। Regular height (CR)। iPad — Regular width। Regular height (RR)। iPhone Plus/Pro Max लैंडस्केप में — Regular width। Compact height (RC)। डिवेलपर प्रत्येक संयोजन के लिए constraint वैरिएंशन परिभाषित करता है।

Android में sw600dp क्या है।

sw600dp (smallestWidth 600 dp) एक Android संसाधन qualifier है जिसका अर्थ है कि डिवाइस की न्यूनतम स्क्रीन चौड़ाई कम से कम 600 dp है। इसका उपयोग टैबलेट (7” और बड़े) के लिए वैकल्पिक लेआउट लोड करने के लिए किया जाता है। ओरिएंटेशन महत्वपूर्ण नहीं है — sw स्क्रीन के सबसे छोटे पक्ष पर विचार करता है।

एप्लिकेशन की अनुकूलनशीलता का परीक्षण कैसे करें।

iOS पर। विभिन्न Size Classes के साथ सिमुलेटर और विभिन्न आकारों के डिवाइसों के साथ SwiftUI Preview का उपयोग करें। Android पर। एमुलेटर में डिवाइस प्रोफ़ाइल (Pixel 5। Pixel C। Galaxy Tab) और Android Studio में Layout Validation का उपयोग करें। दोनों प्लेटफ़ॉर्म पर। भौतिक iPad/Android टैबलेट और फ़ोल्डेबल डिवाइस पर परीक्षण अवश्य करें।

Material Design में canonical layouts क्या हैं।

Canonical layouts Google Material Design 3 से तैयार अनुकूलनशील संरचना पैटर्न हैं: list-detail (सूची + विवरण)। feed (कार्ड फ़ीड)। supporting pane (मुख्य सामग्री + क्रिया पैनल)। प्रत्येक पैटर्न में तीन वैरिएंट (compact/medium/expanded) हैं और वे WindowSizeClass के अनुसार स्वचालित रूप से अनुकूलित होते हैं।

सारांश

  • Responsive Design — लचीली ग्रिड और breakpoints के माध्यम से स्क्रीन आकार और ओरिएंटेशन के अनुकूल लेआउट अनुकूलन
  • Size Classes iOS में (Compact/Regular) iPhone। iPad और Split View के लिए लेआउट निर्धारित करते हैं
  • Configuration Qualifiers Android में (swdp। wdp। layout-land) डिवाइस के अनुसार संसाधन लोड करते हैं
  • Jetpack WindowManager तीन श्रेणियों के साथ WindowSizeClass प्रदान करता है: COMPACT। MEDIUM। EXPANDED
  • Breakpoints: 0–599 dp (फ़ोन)। 600–839 dp (टैबलेट)। 840+ dp (चौड़ा टैबलेट)
  • Responsive ≠ सादा खींचाव — तत्वों के पुनर्विन्यास (reflow) की आवश्यकता है। सामग्री छुपाने की नहीं
  • परीक्षण सभी प्रकार के डिवाइसों पर। जिसमें टैबलेट और फ़ोल्डेबल शामिल हैं। एक अनिवार्य विकास चरण है

हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे

IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।

परियोजना पर चर्चा करें

यह भी पढ़ें