Sum*_*haw 6 android textinput scrollview android-virtual-keyboard react-native
虚拟键盘覆盖了文本输入,我看不到我正在输入的内容。如何避免这种情况?(我尝试使用 KeyboardAwareScrollView 但它仍然覆盖文本输入)。我遇到的另一个问题是关于我的 styles.container 属性 -> justifyContent 和alignItems 的错误 - 它说将它们放在 ScrollView 属性内 - 我不知道如何做到这一点 - 我是 React Native 的新手。
render() {
return (
<KeyboardAwareScrollView>
<View style={styles.container} >
<TextInput
style={styles.input}
underlineColorAndroid="transparent"
placeholder="username"
placeholderTextColor="#00bcd4"
autoCapitalize="none"
secureTextEntry={true}
onChangeText={username => this.setState({ username })}
/>
<View style={styles.btnContainer}>
<TouchableOpacity style={styles.userBtn} onPress={() => this.Login(this.state.email, this.state.password)}>
<Text style={styles.btnTxt}>Login</Text>
</TouchableOpacity>
</View>
</View>
</KeyboardAwareScrollView>
Run Code Online (Sandbox Code Playgroud)
对于 KeyboardAvoidingView 也有同样的事情:
render() {
return (
// <View style={styles.container} >
<KeyboardAvoidingView behavior="padding" style={styles.container}>
<Text style={styles.heading} >Welcome to SelfCare !</Text>
<Image
style={{width: 200, height: 200, marginBottom: 40}}
source={require('./src/images/icon.png')}
/>
<TextInput
style={styles.input}
underlineColorAndroid="transparent"
placeholder="Email"
placeholderTextColor="#00bcd4"
autoCapitalize="none"
onChangeText={email => this.setState({ email })}
/>
<TextInput
style={styles.input}
underlineColorAndroid="transparent"
placeholder="Password"
placeholderTextColor="#00bcd4"
autoCapitalize="none"
secureTextEntry={true}
onChangeText={password => this.setState({ password })}
/>
<View style={styles.btnContainer}>
<TouchableOpacity style={styles.userBtn} onPress={() => this.Login(this.state.email, this.state.password)}>
<Text style={styles.btnTxt}>Login</Text>
</TouchableOpacity>
<TouchableOpacity style={styles.userBtn} onPress={() => this.SignUp(this.state.email, this.state.password)}>
<Text style={styles.btnTxt}>Sign Up</Text>
</TouchableOpacity>
</View>
</KeyboardAvoidingView>
// </View>
);
}
}
Run Code Online (Sandbox Code Playgroud)
如果您希望屏幕上升,您可以使用而不是它更容易实现并且执行相同的工作,除非您希望用户能够在键盘打开时滚动屏幕。<< 这个道具是为了让屏幕如何行动。它还将 [height,position] 作为值。<KeyboardAvoidingView> <KeyboardAwareScrollView>
behavior='padding'
<View style={styles.container}>
<KeyboardAvoidingView behavior="padding">
... Your UI ...
</KeyboardAvoidingView>
</View>
Run Code Online (Sandbox Code Playgroud)
或者对于简写,您可以替换<View>为<KeyboardAvoidingView>:
<KeyboardAvoidingView behavior="padding" style={styles.container}>
... Your UI ...
</KeyboardAvoidingView>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8896 次 |
| 最近记录: |