2017-01-09 1 views

Antwort

2

Sie können das Bildraster selbst erstellen, indem Sie die Breite für jedes Bild festlegen und es in einer Reihe rendern.

Zum Beispiel möchten Sie 3 Bilder für 1 Zeile. Sie können Maße verwenden, um Fensterbreite zu erhalten und für 3 zu teilen.

const windowWidth = Dimensions.get('window').width; 
var IMAGES_PER_ROW = 3; 

calculatedSize(){ 
    var size = windowWidth/IMAGES_PER_ROW 
    return {width: size, height: size} 
} 

Danach werden wir Bilder hintereinander rendern.

renderRow(images) { 
    return images.map((uri,i) =>{ 
     return(
     <Image key={i} style={[styles.item, this.calculatedSize()]} source={{uri: uri}} /> 
    ); 
    }) 
    } 
    renderImagesInGroupsOf(count) { 
    return _.chunk(IMAGE_URLS, IMAGES_PER_ROW).map((imagesForRow,i) => { 
     return (
     <View style={styles.row} key={i}> 
      {this.renderRow(imagesForRow)} 
     </View> 
    ) 
    }) 
    } 

Sie können Bildgitterrand einstellen, wie Sie in styles.item wie margin: 1 wollen.

Volles Beispiel here

+0

Danke. Dies scheint der Trick zu sein! – Ricky

Verwandte Themen