与滚动型和Flexbox的问题

时间:2019-02-02 18:34:16

标签: reactjs react-native flexbox scrollview

我试图滚动型添加到我的组件,但是,因为我需要它这是行不通的。它移动一切到顶部。

这是添加ScrollView之前的屏幕,我需要使屏幕看起来像这样,但是具有滚动选项: enter image description here

这是添加滚动型后我的屏幕: enter image description here

这是我的代码:

<ScrollView contentContainerStyle={styles.scrollview} scrollEnabled={scrollEnabled} onContentSizeChange={this.onContentSizeChange}>
    <View style={styles.mainContainer}>
      <View style={[styles.petNameContainer]}>
        <Text>{this.state.petInfo.name}</Text>
      </View>
      <View style={styles.petProfileContainer}>
        <Text style={{textAlign:'left'}}>{this.state.petInfo.race}</Text>
        <Image style={{height:100, width:100}}
          // en local --> source={require('../assets/images/homescreen/Avatar.png')}>
          source={{uri:this.state.petInfo.url_image}}
        />
        <Text style={{textAlign:'right'}}>{this.state.petInfo.species}</Text>
      </View>
      <View style={styles.foodBar}>
        <Image style={{height: 40, width:250}}
          resizeMode="stretch"
          source={require('../assets/images/homescreen/Comida.png')}>
        </Image>
      </View>
      <View style={[styles.prueba]}>
        <Text>15:30 - Última entrada del log</Text>
        <Text>21:30 - Próxima comida.</Text>
        <Text>Icono + Historial de comidas</Text>
      </View>
      <View style={[styles.quarterHeight]}>
        <Image
          style={{height: 40, width:250}}
          resizeMode="stretch"
          source={require('../assets/images/homescreen/Agua.png')}>
        </Image>
      </View>
      <View style={[styles.quarterHeight]}>
        <Text>15:30 - Última entrada del log</Text>
        <Text>Icono + Historial de agua</Text>
        <Text>15:30 - Última entrada del log</Text>
        <Text>Icono + Historial de agua</Text>
        <Text>15:30 - Última entrada del log</Text>
        <Text>Icono + Historial de agua</Text>
        <Text>15:30 - Última entrada del log</Text>
        <Text>Icono + Historial de agua</Text>
        <Text>15:30 - Última entrada del log</Text>
        <Text>Icono + Historial de agua</Text>
      </View>
    </View>
    </ScrollView>

样式:

const styles = StyleSheet.create({
mainContainer: {
  flex: 1,
  flexDirection: 'column',
  justifyContent: 'space-between',
  alignItems: 'center',
  flexWrap: 'wrap'
  },
  petNameContainer: {
  flex: 1,     
 },
 quarterHeight: {
  flex: 1,
},
prueba: {
flex:1
},
petProfileContainer: {
flex: 1,
flexDirection: 'row',
alignItems: 'center',
justifyContent: 'space-between',
flex: 2,
marginTop: -95 
},
foodBar: {
flex:1
}
});

我是React Native的新手,所以我不知道该怎么做。

1 个答案:

答案 0 :(得分:2)

只是删除marginTop: -95petProfileContainer的风格。