Responsive Design — Grundlagen, Anpassung von Oberflächen an Bildschirme

Autor: IT Sectr Veröffentlicht: 2026-02-25 Lesezeit: 9 Min.

Responsive Design ist ein Ansatz zum Aufbau von Oberflächen, bei dem sich das Layout automatisch an die Größe, Ausrichtung und den Gerätetyp anpasst. In der mobilen Entwicklung wird Responsive Design durch Size Classes in iOS und Configuration Qualifiers in Android implementiert. Der Artikel behandelt die Prinzipien des adaptiven Layouts, die Werkzeuge beider Plattformen und Codebeispiele.

Wichtige Erkenntnisse

  • Responsive Design — Anpassung der Oberfläche an verschiedene Bildschirmgrößen, Ausrichtungen und Gerätetypen
  • Size Classes — iOS-Mechanismus zur Bestimmung kompakter oder regulärer Größe horizontal und vertikal
  • Configuration Qualifiers — Android-Ressourcen (layout-w600dp, values-sw600dp) für verschiedene Bildschirmkonfigurationen
  • Adaptives Raster — Neuanordnung von Elementen bei Änderung der Bildschirmbreite, nicht nur Streckung
  • Breakpoints — Übergangspunkte zwischen Layout-Zuständen (z. B. 375 pt für iPhone, 768 pt für iPad)

Was ist Responsive Design?

Responsive Design ist eine Methode zum Aufbau von Oberflächen, bei der das Layout auf Bildschirmgröße, Ausrichtung und verfügbaren Platz reagiert und Elemente ohne Funktionsverlust neu anordnet. Der Begriff wurde 2010 von Ethan Marcotte für Webdesign geprägt, aber die Prinzipien sind vollständig auf native mobile Anwendungen anwendbar.

In der mobilen Entwicklung bedeutet Responsive Design, dass dieselbe Anwendung auf allen Geräten korrekt angezeigt wird: vom iPhone SE (375 pt) bis zum iPad Pro (1024 pt im Hochformat) und vom Android-Smartphone (360 dp) bis zum Tablet (800 dp). Die Schlüsselelemente sind flexibles Raster, adaptive Bilder und Media Queries auf Framework-Ebene (Size Classes, Qualifiers).

Laut Apple Developer Documentation sollte die Anwendung universell sein — auf allen Geräten ohne separaten iPad-Build funktionieren. Google Play empfiehlt die Verwendung adaptiver Layouts über Jetpack WindowManager und Canonical Layouts. Fehlende Tablet-Anpassung ist ein häufiger Grund für negative Bewertungen.

Responsive vs Adaptive Design

Die Begriffe Responsive und Adaptive werden oft verwechselt, obwohl sie unterschiedliche Ansätze beschreiben. Responsive Design verwendet ein flexibles Raster, das sich kontinuierlich an die Bildschirmbreite anpasst. Adaptive Design verwendet feste Layouts für vordefinierte Breakpoints — die Anwendung wechselt abrupt zwischen ihnen.

MerkmalResponsive DesignAdaptive Design
AnsatzFließender ÜbergangDiskrete Wechsel
RasterProzentbasiert, fluidFest für jeden Breakpoint
ImplementierungAuto Layout, Flexbox, ConstraintLayoutSize Classes, layout-w600dp, separate Storyboards
Anzahl der Design-LayoutsEines, aber flexibelMehrere (Hochformat, Querformat, Tablet)

In der Praxis verwenden mobile Apps eine Kombination beider Ansätze. Das Basisraster wird responsiv aufgebaut (Auto Layout mit Constraint-Abhängigkeiten), und beim Erreichen eines Breakpoints (z. B. Breite > 600 pt) wechselt das Layout auf eine adaptive Version mit einer anderen Elementanordnung. iOS kombiniert Auto Layout (responsive) mit Size Classes (adaptive). Android kombiniert ConstraintLayout (responsive) mit Qualifier-Ressourcen (adaptive).

iOS Size Classes: Compact und Regular

Size Classes sind ein iOS-Mechanismus, der den verfügbaren Bildschirmplatz entlang zweier Achsen klassifiziert: horizontal und vertikal. Jede Achse kann Compact (C) oder Regular (R) sein. Die Kombination ergibt vier Layout-Anpassungsoptionen: CR (typisches iPhone Hochformat), RR (iPad Hoch-/Querformat), RC (iPhone Querformat bei Plus/Pro Max), CC (iPad Split View).

swift
// Definition von Size Classes in Swift
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 anzeigen
        case (.compact, .regular):
            showStackedView() // iPhone Hochformat — gestapeltes Layout
        case (.compact, .compact):
            showCompactView() // iPhone SE Querformat — minimiert
        default:
            showDefaultView()
        }
    }

    private func showSplitView() {
        // Verwendung von UISplitViewController oder HStack
    }

    private func showStackedView() {
        // Vertikaler Stack für iPhone
    }

    private func showCompactView() {
        // Sekundäre Elemente ausblenden, primäre anzeigen
    }
}

Im Interface Builder werden Size Classes über das Bedienfeld „wAny hAny" konfiguriert — der Entwickler wählt eine bestimmte Kombination (wRegular hRegular, wCompact hRegular) und fügt Constraint-Variationen hinzu. SwiftUI verwendet @Environment(\.horizontalSizeClass) und @Environment(\.verticalSizeClass) für reaktive Anpassung — bei Änderung der Ausrichtung oder Fenstergröße zeichnet SwiftUI die Ansicht automatisch neu.

swift
// Size Classes in SwiftUI
import SwiftUI

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

    var body: some View {
        if hSizeClass == .regular {
            // iPad — horizontales Layout mit Seitenleiste
            HStack {
                SidebarView()
                    .frame(width: 300)
                ContentView()
            }
        } else {
            // iPhone — vertikaler Vollbild-Stack
            VStack {
                ContentView()
            }
        }
    }
}

Android Configuration Qualifiers

Configuration Qualifiers sind ein Android-Mechanismus zum Laden verschiedener Ressourcen (Layout, Values, Drawables) basierend auf Geräteeigenschaften. Zu den Qualifikatoren gehören Bildschirmgröße (small, normal, large, xlarge), Ausrichtung (port, land), Mindestbreite (sw<N>dp), verfügbare Breite (w<N>dp) und Höhe (h<N>dp).

kotlin
// Gerätekonfigurationserkennung in 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()
        }
    }
}

Ressourcenstruktur für verschiedene Bildschirme: res/layout/activity_main.xml (Telefon), res/layout-sw600dp/activity_main.xml (7-Zoll-Tablet), res/layout-sw720dp/activity_main.xml (10-Zoll-Tablet). Android wählt automatisch das richtige Layout basierend auf smallestWidth — der minimalen Bildschirmbreite in dp unabhängig von der Ausrichtung. Der Qualifier sw<N>dp ist die stabilste Anpassungsmethode.

kotlin
// Jetpack Compose — WindowSizeClass zur Anpassung
@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 (Bibliothek androidx.window) bietet WindowSizeClass mit drei Breitenkategorien: COMPACT (0–600 dp), MEDIUM (600–840 dp), EXPANDED (>840 dp). Dies ist eine moderne Alternative zu alten Qualifier-Ordnern. Von Google für die Anpassung an faltbare Geräte und Tablets empfohlen.

Adaptives Raster und Breakpoints

Das adaptive Raster ist die Grundlage des Responsive Design. Anstelle fester Größen verwenden Elemente prozentuale Verhältnisse, flexible Constraints und intrinsische Inhaltsgröße. Breakpoints sind Bildschirmbreitenpunkte, bei denen das Layout zwischen Zuständen wechselt.

BreakpointiOS Size ClassAndroid QualifierGerätetyp
0–374 pt / dpCompact widthiPhone SE, älteres Android
375–599 pt / dpCompact widthsw320dpiPhone 14, Galaxy S24
600–839 pt / dpRegular widthsw600dpiPad mini, 7-Zoll-Tablets
840+ pt / dpRegular widthsw720dpiPad Pro, 10-Zoll-Tablets

Empfohlene Breakpoints von Google Material Design und Apple HIG: 0–599 dp (Telefon, eine Spalte), 600–839 dp (Tablet, zwei Spalten, Navigation Rail), 840+ dp (Tablet, drei Spalten, Navigation Drawer). Die Anzahl der Breakpoints sollte 4 nicht überschreiten — übermäßige Übergangspunkte erschweren Wartung und Tests.

Bewährte Praktiken für adaptives Design

Erfolgreiches Responsive Design erfordert die Einhaltung einer Reihe von Regeln, die von der iOS- und Android-Entwickler-Community im letzten Jahrzehnt entwickelt wurden. Nachfolgend die wichtigsten Empfehlungen basierend auf Apple HIG, Google Material Design und Produktionsprojekterfahrung.

  • Beginnen Sie mit dem kleinsten Bildschirm — entwerfen Sie das Layout für iPhone SE (375 pt) oder Android Compact (360 dp), fügen Sie dann Erweiterungen für größere Bildschirme hinzu. Dadurch wird sichergestellt, dass kritische Inhalte überall passen
  • Verwenden Sie die intrinsische Inhaltsgröße — UILabel, UIButton, ImageView haben natürliche Größen. Auto Layout und ConstraintLayout nutzen diese für automatische Positionierung ohne zusätzliche Constraints
  • Verstecken Sie Inhalte nicht auf kleinen Bildschirmen — ordnen Sie sie stattdessen neu an (reflow). Der Benutzer sollte Zugriff auf dieselbe Funktionalität haben, nur in einer anderen Reihenfolge
  • Testen Sie auf allen Size Classes — der iOS-Simulator ermöglicht das Umschalten der Size Classes ohne Neustart. Der Android-Emulator bietet verschiedene Geräteprofile. Testen Sie unbedingt auf Tablets und faltbaren Geräten
  • Material 3 Adaptive Layout — Google bietet fertige Canonical Layouts für Liste/Detail, Werkzeugleisten und Navigation. Verwenden Sie diese, anstatt eigene Muster zu erfinden

Das Hauptprinzip des adaptiven Designs: Inhalt definiert Layout, nicht umgekehrt. Wenn ein iPad denselben Kartenstapel wie ein iPhone anzeigt, nur breiter gestreckt — das ist kein Responsive Design. Responsive Design denkt das Layout neu: auf iPhone — vertikales Scrollen, auf iPad — Master-Detail mit Seitenleiste.

Häufig gestellte Fragen

Wie unterscheidet sich Responsive Design von Adaptive Layout?

Responsive Design verwendet ein flexibles Raster, das sich nahtlos an die Bildschirmbreite anpasst. Adaptive Layout wechselt zwischen festen Layouts an Breakpoint-Punkten. In der Praxis werden beide Ansätze kombiniert: responsives Basisraster + adaptive Wechsel für grundlegende Änderungen (Telefon vs. Tablet).

Welche Size Classes gibt es in iOS?

iOS verwendet zwei Achsen: horizontal (Compact/Regular) und vertikal (Compact/Regular). iPhone im Hochformat — Compact Width, Regular Height (CR). iPad — Regular Width, Regular Height (RR). iPhone Plus/Pro Max im Querformat — Regular Width, Compact Height (RC). Der Entwickler legt Constraint-Variationen für jede Kombination fest.

Was ist sw600dp in Android?

sw600dp (smallestWidth 600 dp) ist ein Android-Ressourcenqualifikator, der bedeutet, dass die minimale Bildschirmbreite des Geräts mindestens 600 dp beträgt. Es wird verwendet, um alternative Layouts für Tablets (7" und größer) zu laden. Die Ausrichtung hat keinen Einfluss — sw berücksichtigt die kleinste Bildschirmseite.

Wie testet man die Anpassungsfähigkeit einer App?

Verwenden Sie unter iOS den Simulator mit verschiedenen Size Classes und die SwiftUI Preview mit Geräten unterschiedlicher Größe. Unter Android — Geräteprofile im Emulator (Pixel 5, Pixel C, Galaxy Tab) und Layout Validation in Android Studio. Testen Sie auf beiden Plattformen unbedingt auf einem physischen iPad/Android-Tablet und einem faltbaren Gerät.

Was sind Canonical Layouts in Material Design?

Canonical Layouts sind vorgefertigte adaptive Layoutmuster von Google Material Design 3: List-Detail, Feed (Karten-Feed), Supporting Pane (Hauptinhalt + Aktionsbereich). Jedes Muster hat drei Varianten (Compact/Medium/Expanded) und passt sich automatisch an WindowSizeClass an.

Zusammenfassung

  • Responsive Design — Anpassung des Layouts an Bildschirmgröße und Ausrichtung durch flexible Raster und Breakpoints
  • Size Classes in iOS (Compact/Regular) definieren das Layout für iPhone, iPad und Split View
  • Configuration Qualifiers in Android (sw<N>dp, w<N>dp, layout-land) laden Ressourcen geräteabhängig
  • Jetpack WindowManager bietet WindowSizeClass mit drei Kategorien: COMPACT, MEDIUM, EXPANDED
  • Breakpoints: 0–599 dp (Telefon), 600–839 dp (Tablet), 840+ dp (breites Tablet)
  • Responsive ≠ einfaches Strecken — erfordert Neuanordnung der Elemente, nicht Inhaltsverstecken
  • Tests auf allen Gerätetypen, einschließlich Tablets und faltbaren Geräten, sind eine obligatorische Entwicklungsphase

Wir entwickeln eine mobile Applikation schlüsselfertig

IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.

Projekt besprechen

Lesen Sie auch