反应本机怪异的flex行为

时间:2018-08-24 12:45:03

标签: javascript css reactjs react-native ecmascript-6

我正在尝试创建带有图片的标头,所以我这样写:

  <View style={{
          flex: 1,
          backgroundColor: "#FFFFFF",
          padding: 20
          }}
  >
    <View style={{ flex: 3 }}>
      <Image
        source={this.images.header}
        style={{
          flex: 1,
          alignSelf: "flex-end",    // HERE
          resizeMode: "contain",
          marginTop: -20,
          marginLeft: -20
        }}
      />
    </View>
  </View>

怪异的部分是alignSelf: "flex-end"-这使图像在左侧对齐!据我所知,它必须是alignSelf: "flex-start"才能向左对齐。

我错了吗?

PS:我使用marginTop: -20marginLeft: -20将图像粘贴到设备的边框上(因为padding: 20是容器)

有什么主意吗?

  

提前谢谢!

1 个答案:

答案 0 :(得分:1)

我认为这是因为Image覆盖了整个空间,但是图像数据已调整大小,因此您认为它仅在视图的一部分中。尝试删除flex: 1,然后正确设置widthheight或同时设置两者中的一个。