React native 键盘在react native expo中向上移动视图

React native 键盘在react native expo中向上移动视图,react-native,React Native,我是新来的,我需要帮助。当键盘出现时,整个视图被向上推。我不希望发生这种情况。我看到了其他答案,但没有一个对我有效。我不希望在键盘出现时视图被向上推,并希望视图保持在原来的位置。我正在使用expo,并在下面的图片中给出了代码 从“世博会状态栏”导入{StatusBar}; 从“React”导入React; 从“react native”导入{Image,StyleSheet,View,TextInput,Text,TouchableOpacity,ScrollView,KeyboardAv

我是新来的,我需要帮助。当键盘出现时,整个视图被向上推。我不希望发生这种情况。我看到了其他答案,但没有一个对我有效。我不希望在键盘出现时视图被向上推,并希望视图保持在原来的位置。我正在使用expo,并在下面的图片中给出了代码


从“世博会状态栏”导入{StatusBar};
从“React”导入React;
从“react native”导入{Image,StyleSheet,View,TextInput,Text,TouchableOpacity,ScrollView,KeyboardAvoidingView};
导出默认函数LoginScreen({navigation}){
返回(
登录
console.log('g')}
风格={{
位置:'相对',
前三名:“23%”,
fontWeight:'粗体',
}} >
还是使用社交媒体帐户登录?
navigation.navigate('Create')
}
风格={{
宽度:“100%”,
高度:“100%”,
为内容辩护:“中心”,
对齐项目:“居中”,
背景颜色:“rgb(145157230)”,
前10名,
标高:5,
边界半径:5
}}
activeOpacity={0.8}>
创建帐户
忘记密码
);
}
const styles=StyleSheet.create({
容器:{
弹性:1,
背景颜色:“#fff”,
对齐项目:“居中”,
为内容辩护:“中心”,
},
标志:{
位置:'绝对',
身高:100,
宽度:150,
resizeMode:“包含”,
前三名:“3%”
},
登录输入:{
位置:'相对',
身高:50,
边框颜色:“黑色”,
背景颜色:“rgb(240240242)”,
边界半径:10,
宽度:280,
颜色:'黑色',
textAlign:'中心',
为内容辩护:“中心”,
对齐项目:“居中”,
边框颜色:“白色”,
},
输入容器:{
位置:'绝对',
排名前:“18%”,
对齐项目:“居中”,
},
密码输入:{
位置:'相对',
身高:50,
边框颜色:“黑色”,
背景颜色:“rgb(240240242)”,
边界半径:10,
宽度:280,
颜色:'黑色',
textAlign:'中心',
为内容辩护:“中心”,
对齐项目:“居中”,
边框颜色:“白色”,
前10名
},
登录按钮视图:{
位置:'绝对',
身高:46,
宽度:“70%”,
排名前:“80%”
}
});
试着像这样使用组件:

<KeyboardAvoidingView behavior={'height'} enabled style={styles.container}>
          <Image style={styles.logo} source={
            {
              uri: "https://i.ibb.co/4JK4T3P/deale-logo.jpg",
            }} />
          <StatusBar style="auto" />
          <View style={styles.inputContainer} >
            <TextInput
              style={styles.loginInput}
              placeholder='Phone Number or Email'
            />
            <TextInput
              style={styles.passwordInput}
              placeholder='Password'
            />
            <TouchableOpacity
              style={{
                width: 280,
                height: 50,
                justifyContent: 'center',
                alignItems: 'center',
                backgroundColor: 'rgb(255, 77, 77)',
                elevation: 5,
                borderRadius: 10,
                top: 35
              }}
              activeOpacity={0.8}>
              <Text
                style={{
                  color: 'white',
                  fontSize: 15,
                  fontWeight: 'bold',
                }} >
                LOG IN
            </Text>
            </TouchableOpacity>
            <Text
              onPress={() => console.log('g')}
              style={{
                position: 'relative',
                top: '23%',
                fontWeight: 'bold',
              }} >
              OR LOGIN WITH SOCIAL MEDIA ACCOUNT?
          </Text>
            <View style={{
              flex: 1,
              flexDirection: 'row',
              bottom: 30,
              justifyContent: 'space-evenly',
              top: '22%',
              width: 300
            }} >
              <TouchableOpacity activeOpacity={0.5} >
                <Image source={
                  { uri: 'https://cdn3.iconfinder.com/data/icons/popular-services-brands/512/facebook-512.png' }}
                  style={{
                    width: 60,
                    height: 60,
                  }} />
              </TouchableOpacity>
              <TouchableOpacity activeOpacity={0.5} >
                <Image source={
                  { uri: 'https://lh3.googleusercontent.com/COxitqgJr1sJnIDe8-jiKhxDx1FrYbtRHKJ9z_hELisAlapwE9LUPh6fcXIfb5vwpbMl4xl9H9TRFPc5NOO8Sb3VSgIBrfRYvW6cUA' }}
                  style={{
                    width: 60,
                    height: 60,
                  }} />
              </TouchableOpacity>
            </View>
          </View >
          <View style={styles.loginButtonView} >
            <TouchableOpacity
              onPress={
                () => navigation.navigate('Create')
              }
              style={{
                width: '100%',
                height: '100%',
                justifyContent: 'center',
                alignItems: 'center',
                backgroundColor: 'rgb(145, 157, 230)',
                top: 10,
                elevation: 5,
                borderRadius: 5
              }}
              activeOpacity={0.8}>
              <Text
                style={{ color: 'white', fontSize: 15, fontWeight: 'bold' }} >
                CREATE ACCOUNT
            </Text>
            </TouchableOpacity>

            <TouchableOpacity
              style={{
                justifyContent: 'center',
                alignItems: 'center',
                top: '40%'
              }}
              activeOpacity={0.1}>
              <Text
                style={{
                  color: 'black',
                  fontSize: 16,
                  top: 5
                }} >
                FORGOT PASSWORD
            </Text>
            </TouchableOpacity>
          </View>
        </KeyboardAvoidingView >

登录
console.log('g')}
风格={{
位置:'相对',
前三名:“23%”,
fontWeight:'粗体',
}} >
还是使用社交媒体帐户登录?
navigation.navigate('Create')
}
风格={{
宽度:“100%”,
高度:“100%”,
为内容辩护:“中心”,
对齐项目:“居中”,
背景颜色:“rgb(145157230)”,
前10名,
标高:5,
边界半径:5
}}
activeOpacity={0.8}>
创建帐户
忘记密码
尝试在
位置使用不同的值。

如果你想要更少的工作,你可以使用。这是一个很好的库,可以在不同的布局中使用键盘。

我自己找到了原因。这是因为我根据百分比设置了我的位置,键盘的弹出改变了尺寸,导致了位置的变化。

没有称为位置的道具,它给了我错误抱歉,道具的正确名称是。
<KeyboardAvoidingView behavior={'height'} enabled style={styles.container}>
          <Image style={styles.logo} source={
            {
              uri: "https://i.ibb.co/4JK4T3P/deale-logo.jpg",
            }} />
          <StatusBar style="auto" />
          <View style={styles.inputContainer} >
            <TextInput
              style={styles.loginInput}
              placeholder='Phone Number or Email'
            />
            <TextInput
              style={styles.passwordInput}
              placeholder='Password'
            />
            <TouchableOpacity
              style={{
                width: 280,
                height: 50,
                justifyContent: 'center',
                alignItems: 'center',
                backgroundColor: 'rgb(255, 77, 77)',
                elevation: 5,
                borderRadius: 10,
                top: 35
              }}
              activeOpacity={0.8}>
              <Text
                style={{
                  color: 'white',
                  fontSize: 15,
                  fontWeight: 'bold',
                }} >
                LOG IN
            </Text>
            </TouchableOpacity>
            <Text
              onPress={() => console.log('g')}
              style={{
                position: 'relative',
                top: '23%',
                fontWeight: 'bold',
              }} >
              OR LOGIN WITH SOCIAL MEDIA ACCOUNT?
          </Text>
            <View style={{
              flex: 1,
              flexDirection: 'row',
              bottom: 30,
              justifyContent: 'space-evenly',
              top: '22%',
              width: 300
            }} >
              <TouchableOpacity activeOpacity={0.5} >
                <Image source={
                  { uri: 'https://cdn3.iconfinder.com/data/icons/popular-services-brands/512/facebook-512.png' }}
                  style={{
                    width: 60,
                    height: 60,
                  }} />
              </TouchableOpacity>
              <TouchableOpacity activeOpacity={0.5} >
                <Image source={
                  { uri: 'https://lh3.googleusercontent.com/COxitqgJr1sJnIDe8-jiKhxDx1FrYbtRHKJ9z_hELisAlapwE9LUPh6fcXIfb5vwpbMl4xl9H9TRFPc5NOO8Sb3VSgIBrfRYvW6cUA' }}
                  style={{
                    width: 60,
                    height: 60,
                  }} />
              </TouchableOpacity>
            </View>
          </View >
          <View style={styles.loginButtonView} >
            <TouchableOpacity
              onPress={
                () => navigation.navigate('Create')
              }
              style={{
                width: '100%',
                height: '100%',
                justifyContent: 'center',
                alignItems: 'center',
                backgroundColor: 'rgb(145, 157, 230)',
                top: 10,
                elevation: 5,
                borderRadius: 5
              }}
              activeOpacity={0.8}>
              <Text
                style={{ color: 'white', fontSize: 15, fontWeight: 'bold' }} >
                CREATE ACCOUNT
            </Text>
            </TouchableOpacity>

            <TouchableOpacity
              style={{
                justifyContent: 'center',
                alignItems: 'center',
                top: '40%'
              }}
              activeOpacity={0.1}>
              <Text
                style={{
                  color: 'black',
                  fontSize: 16,
                  top: 5
                }} >
                FORGOT PASSWORD
            </Text>
            </TouchableOpacity>
          </View>
        </KeyboardAvoidingView >