今天学习react-native ,尝试使用scroll view来写一个banner遇到了一个问题
<ScrollView horizontal={true}
removeClippedSubviews={true}
showsHorizontalScrollIndicator={false}
automaticallyAdjustContentInsets={false}
pagingEnabled={true}
style={[styles.scrollview,styles.horizontalScrollView]}>
{this.state.bannerIcon.map((uri,i)=>{return this.scrollViewItem(uri,i)})}
</ScrollView>
scrollViewItem(uri,i){
return <Image key = {i} style={{resizeMode:'cover',height:200,width:this.state.width,backgroundColor:'red'}} source={{uri:uri}}/>;
}
width:this.state.width 这个地方需要注意,虽然这个width能够 <strong>.</strong> 出来但是这个并不是你想要的 ,所以不管怎么样都没有效果。我尝试着将Scroll view的 horizontal 属性拿掉可以显示出图片,这里就给了我误导,所以一直没有想到是this.state.width引起的
const {width, height} = Dimensions.get('window');
scrollViewItem(uri,i){
return <Image key = {i} style={{resizeMode:'cover',height:200,width:width,backgroundColor:'red'}} source={{uri:uri}}/>;
}
这样就不会出现那样的问题了!解决了这个问题。
网友评论