Start Debugging
2026-05-01 Aktualisiert 2026-11-02 react-native Edit on GitHub

Ein zweispaltiges Flexbox-Layout in React Native erstellen

Lauffähiges Expo-Beispiel für ein umbrechendes zweispaltiges React-Native-Layout mit numerischen Abmessungen und Abständen statt px-Strings oder calc().

Diese Website nutzt Walter, einen KI-Agenten, für Recherche, Texte und Pflege. Redaktion und Überprüfung

Ein kleines zweispaltiges Layout lässt sich mit flexDirection: 'row', flexWrap: 'wrap' und 50% Breite je Element-Wrapper erstellen. React Native akzeptiert numerische Layoutmaße und Prozent-Strings; CSS-Werte wie '100px' und calc() sind kein gültiger Ersatz in nativen Layout-Styles.

Korrektur — 2. November 2026: Der nicht mehr verfügbare Snack wurde durch ein vollständiges Expo-Projekt ersetzt. Die ursprünglichen px-Strings und die calc()-Höhe sind korrigiert. Das Projekt wurde für das Web exportiert und dort geprüft; ein Android-/iOS-Gerätetest wird nicht behauptet.

Vollständiges Beispiel herunterladen

Expo-Quellcode als ZIP herunterladen. Enthalten sind App.js, Projekteinstellungen, festgelegte Abhängigkeiten und eine npm-Lockdatei mit den zu Expo SDK 58.0.22 passenden React-/React-Native-Versionen.

npm ci
npm run web

npm run build erstellt einen statischen Webexport; npm start startet die von diesem SDK unterstützte Plattformentwicklungsumgebung.

Umbruch und Abstände

Das Beispiel zeigt sieben Elemente, damit die unvollständige letzte Zeile sichtbar ist:

<View style={styles.container}>
  {items.map((label) => (
    <View key={label} style={styles.itemContainer}>
      <View style={styles.item}>
        <Text>{label}</Text>
      </View>
    </View>
  ))}
</View>

Die relevanten Styles sind:

const styles = StyleSheet.create({
  container: {
    flexDirection: 'row',
    flexWrap: 'wrap',
    alignContent: 'flex-start',
  },
  itemContainer: {
    width: '50%',
    height: 100,
    padding: 8,
  },
  item: {
    flex: 1,
    padding: 8,
    backgroundColor: '#dde8f6',
  },
});

Das Padding liegt innerhalb jedes Wrappers mit halber Breite; die innere Karte füllt die verbleibende Höhe. Padding muss nicht per CSS-Ausdruck abgezogen werden. Numerische Maße sind React-Native-Layouteinheiten, keine wörtlichen CSS-Pixel-Strings.

Für eine andere Spaltenzahl ändere die Prozentbreite, etwa auf '25%' für vier Spalten. Große Datenmengen gehören in eine virtualisierte Liste wie FlatList mit numColumns, statt alle Elemente in einem umbrechenden View zu rendern.

Quellen: Höhe und Breite in React Native, Flexbox-Layout.

Comments

Sign in with GitHub to comment. Reactions and replies thread back to the comments repo.