React Native Flexbox Image不会填充容器的宽度

时间:2015-09-29 16:51:50

标签: reactjs flexbox react-native

我有一个灵活的容器,其中包含3个以column-flex样式布局的组件。预期的行为是这三个组件会根据它们的弹性样式(他们这样做)占据高度,并且它们会伸展以填充其容器的宽度(文本组件的宽度,但图像组件没有!)。为什么图像组件不会拉伸以填充宽度?我错过了什么吗?

样式:

let styles = StyleSheet.create({
  container: {
    flex: 1,
    padding: 10,
    backgroundColor: 'white',
    borderRadius: 20,
    flexDirection: 'column'
  },
  profileImage: {
    flex: 3,
    backgroundColor: 'red',
    alignSelf: 'stretch'
  },
  usernameText: {
    fontSize: 24,
    fontWeight: 'bold',
    flex: 1,
    backgroundColor: 'red',
  },
  detailText: {
    fontSize: 14,
    color: 'gray',
    flex: 1
  }
});

结构:

<View style={styles.container}>
    <Image style={styles.profileImage} resizeMode={Image.resizeMode.stretch} source={profileImageSource}></Image>
    <Text style={styles.usernameText}>{this.props.person.username}</Text>
    <Text style={styles.detailText}>{this.props.person.age} - {this.props.person.gender} - {this.props.person.compat}% Pizza Rating</Text>
</View>

结果:

why won't the image stretch

1 个答案:

答案 0 :(得分:0)

您是否尝试过添加

alignItems: 'stretch'

到容器样式? (理论上,alignSelf与profileImage应该相同,但react-native flexbox不是flexbox行为的精确副本。)