2016-06-29 10 views

cevap

4

Arka Plan resminde CSS gibi React Native'de tekrarlanamazsınız. Ancak, görüntüyü yinelemek için

var React = require('react-native'); 
var Dimensions = require('Dimensions'); 

var { 
    Image 
} = React; 

var RepeatImage = React.createClass({ 
    render: function(){ 
    var images = [], 
    imgWidth = 7, 
    winWidth =Dimensions.get('window').width; 

    for(var i=0;i<Math.ceil(winWidth/imgWidth);i++){ 
     images.push((
      <Image source={{uri: 'http://xxx.png'}} style={} /> 
     )) 
    } 

    return (
     <View style={{flex:1,flexDirection:'row'}}> 
     { 
     images.map(function(img,i){ 
     return img; 
     }) 
     } 
     </View> 
    ) 
    } 
}); 
+1

gibi bir şey kullanmak gerekecektir Öyle canlı hafıza akıllıca? – SudoPlz

+0

Aslında –

+0

yapabilirsin Ancak bu sadece tek bir satır mı yoksa tekrarlanan görüntüler mi gösterecek? Bu sadece kısmi bir çözüm gibi görünüyor, gerçekten iOs üzerinde 'tekrar 'modu ile aynı şeyi yapmaz. – Evos

3

Sriraman'ın yanıtını genişletmek istiyorum. Tekrarlanan görüntüleri arka plan olarak yapmak için, yeni bir görünüm ekleme ve konumunu mutlak ve arka plan saydam hale getirme, ardından içindeki tüm diğer bileşenleri ekleme konusunda ek bir adım atmanız gerekir. iOS üzerinde

var React = require('react-native'); 
 
var Dimensions = require('Dimensions'); 
 

 
var { 
 
    Image 
 
} = React; 
 

 
var RepeatImage = React.createClass({ 
 
    render: function(){ 
 
    var images = [], 
 
    imgWidth = 7, 
 
    winWidth =Dimensions.get('window').width; 
 

 
    for(var i=0;i<Math.ceil(winWidth/imgWidth);i++){ 
 
     images.push((
 
      <Image source={{uri: 'http://xxx.png'}} style={} /> 
 
     )) 
 
    } 
 

 
    return (
 
     <View style={{flex:1,flexDirection:'row'}}> 
 
     { 
 
     images.map(function(img,i){ 
 
     return img; 
 
     }) 
 
     } 
 
      <View style={{position: 'absolute', top: 0, bottom: 0, left: 0, right: 0}}> 
 
       {/*Place all you compoents inside this view*/} 
 
      </View> 
 
     </View> 
 
    ) 
 
    } 
 
});

+0

Cevabınız için teşekkürler! Bu arka planın göründüğü manzara boyutunu bilmiyorsam ne olur? – irrigator

+0

^ve bu yalnızca yatay olarak dikey olarak çalışmıyor. Sanırım ikisine de sahip olamayız. –

9

Görüntüler artık repeatresizeMode property sayılabilir.

şöyle kullanın:

<Image 
    src={/* whatever your source is */} 
    resizeMode="repeat" 
/> 

Android günü mülkiyet böylece çalışmadığına sen Shiraman's answer

+0

'resizeMode: 'tekrarla' sihir gibi çalışır! – nirpeled

+0

bu sadece iOS, android – popaulina

+0

Yep üzerinde çalışmıyor, cevapta - özellikle de iOS için sorulan soruyu soran kişi diyor. Android'de söylendiğine göre, Sriraman'ın önerdiği gibi bir şey yapmak zorunda kalacaksınız. – SudoPlz

İlgili konular