键盘上方的文本框
TextBox above Keyboard
我是 React Native 的新手,我遇到了一个问题:当我在其中书写时,我的 TextBox 没有停留在键盘上方。
这些是应用程序的视觉效果
Screenshot
这是我的 Signup.js
:
import React, { Component } from 'react';
import {
StyleSheet,
Text,
View,
TouchableOpacity
} from 'react-native';
import Form from '../components/Form';
import Logo2 from'../components/Logo2';
import {Actions} from 'react-native-router-flux';
export default class Signup extends Component {
goBack() {
Actions.pop()
}
render() {
return(
<View style={styles.container}>
<Logo2/>
<Form type="Registrar"/>
<View style={styles.signupTextCont}>
<Text style={styles.signupText}>Ja tens uma conta? </Text>
<TouchableOpacity onPress={this.goBack}><Text style={styles.signupButton}>Entra</Text></TouchableOpacity>
</View>
</View>
)
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#232122'
},
signupTextCont: {
flexGrow: 1,
justifyContent: 'center',
alignItems: 'flex-end',
paddingVertical: 16,
flexDirection: 'row'
},
signupText: {
color: 'rgba(255,255,255,0.7)',
fontSize:16
},
signupButton: {
color: '#FFA200',
fontSize:16,
fontWeight: '500'
}
});
我不知道我需要编码什么。
你能帮帮我吗?
您可以使用 KeyboardAvoidingView
而不是普通的 View
包装您的代码,这样它实际上可以将其中的任何项目提升到键盘上方。您可以使用 <KeyboardAvoidingView behavior="padding">
希望对您有所帮助。
复制我解决您问题的评论;您可以使用包 react-native
中的组件 KeyboardAvoidingView
。它会提升虚拟键盘上方的区域。
像这样包装你的代码:
<KeyboardAvoidingView behavior={'position'} enabled>
<View style={styles.signupTextCont}>
<Text style={styles.signupText}>Ja tens uma conta? </Text>
<TouchableOpacity onPress={this.goBack}>
<Text style={styles.signupButton}>Entra</Text>
</TouchableOpacity>
</View>
</KeyboardAvoidingView>
以下是有关其工作原理的更多信息:https://facebook.github.io/react-native/docs/keyboardavoidingview。
我是 React Native 的新手,我遇到了一个问题:当我在其中书写时,我的 TextBox 没有停留在键盘上方。
这些是应用程序的视觉效果
Screenshot
这是我的 Signup.js
:
import React, { Component } from 'react';
import {
StyleSheet,
Text,
View,
TouchableOpacity
} from 'react-native';
import Form from '../components/Form';
import Logo2 from'../components/Logo2';
import {Actions} from 'react-native-router-flux';
export default class Signup extends Component {
goBack() {
Actions.pop()
}
render() {
return(
<View style={styles.container}>
<Logo2/>
<Form type="Registrar"/>
<View style={styles.signupTextCont}>
<Text style={styles.signupText}>Ja tens uma conta? </Text>
<TouchableOpacity onPress={this.goBack}><Text style={styles.signupButton}>Entra</Text></TouchableOpacity>
</View>
</View>
)
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#232122'
},
signupTextCont: {
flexGrow: 1,
justifyContent: 'center',
alignItems: 'flex-end',
paddingVertical: 16,
flexDirection: 'row'
},
signupText: {
color: 'rgba(255,255,255,0.7)',
fontSize:16
},
signupButton: {
color: '#FFA200',
fontSize:16,
fontWeight: '500'
}
});
我不知道我需要编码什么。 你能帮帮我吗?
您可以使用 KeyboardAvoidingView
而不是普通的 View
包装您的代码,这样它实际上可以将其中的任何项目提升到键盘上方。您可以使用 <KeyboardAvoidingView behavior="padding">
希望对您有所帮助。
复制我解决您问题的评论;您可以使用包 react-native
中的组件 KeyboardAvoidingView
。它会提升虚拟键盘上方的区域。
像这样包装你的代码:
<KeyboardAvoidingView behavior={'position'} enabled>
<View style={styles.signupTextCont}>
<Text style={styles.signupText}>Ja tens uma conta? </Text>
<TouchableOpacity onPress={this.goBack}>
<Text style={styles.signupButton}>Entra</Text>
</TouchableOpacity>
</View>
</KeyboardAvoidingView>
以下是有关其工作原理的更多信息:https://facebook.github.io/react-native/docs/keyboardavoidingview。