- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
I am using keyboardavoidingview in the following scroll to move up keyboard so that the submit button is always visible. But it seems to not work on ios properly, despite setting the property behavior to padding, please help me sort this out.
我已经引用了 SO 和 Github 上的大量帖子,但由于用例各不相同,所以没有任何东西能够帮助我。
由于 Keyboardavoidingview 的官方文档也说要添加行为,所以我就这样做了。
但是 View 没有向上移动,而且我也无法使用 jutifycontent-center,因为我需要 View 仅从顶部开始。
refer///代码
render() {
return (
<SafeAreaView style={{flex:1}}>
<KeyboardAvoidingView
behavior={Platform.OS === "ios" ? "padding" : null}
style={styles.container}
keyboardVerticalOffset={Platform.select({ios: 0, android: Header.HEIGHT + 20})}
>
<TouchableWithoutFeedback onPress={Keyboard.dismiss}>
<View>
<StatusBar backgroundColor="#7c8500" barStyle="light-content" />
<View>
<Text style={styles.holdertext}>Name:</Text>
</View>
<TextInput
style={styles.inputBox}
underlineColorAndroid="rgba(0,0,0,0)"
value={this.state.username}
editable={true}
placeholderTextColor="rgba(0,0,0,0.3)"
onChangeText={value => this.setState({ username: value })}
/>
<View style={styles.bottomView}>
<Text style={styles.holdertext}>Phone:</Text>
</View>
<TextInput
style={styles.inputBox}
underlineColorAndroid="rgba(0,0,0,0)"
value={this.state.phonenumber}
placeholder="Phone"
placeholderTextColor="rgba(0,0,0,0.3)"
maxLength={10}
keyboardType="phone-pad"
clearButtonMode="always"
onChangeText={value => this.setState({ phonenumber: value })}
/>
<View>
<Text style={styles.holdertext}>Comment:</Text>
</View>
<TextInput
style={styles.commentbox}
returnKeyType="next"
underlineColorAndroid="rgba(0,0,0,0)"
value={this.state.comment}
placeholder="Comment"
placeholderTextColor="rgba(0,0,0,0.3)"
textAlign={"left"}
numberOfLines={10}
multiline={true}
clearButtonMode="always"
onChangeText={value => this.setState({ comment: value })}
/>
<TouchableOpacity style={styles.button} onPress={this.callFun}>
<Text style={styles.buttonText}>SUBMIT</Text>
</TouchableOpacity>
</View>
</TouchableWithoutFeedback>
</KeyboardAvoidingView>
</SafeAreaView>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: "#ffffff",
},
holdertext: {
fontSize: 16,
fontWeight: "bold",
marginTop: 5,
marginLeft: 8,
textAlign: "left"
},
inputBox: {
width: null,
height: 40,
backgroundColor: "rgba(229,229,229,0.3)",
color: "#000000",
paddingVertical: 10,
paddingLeft: 10,
margin: 10,
marginLeft: 10,
fontSize: 18,
borderWidth: 0.3,
borderRadius: 20,
borderColor: "rgba(175,180,43,0.8)"
},
commentbox: {
width: null,
height:100,
backgroundColor: "rgba(229,229,229,0.3)",
fontSize: 12,
color: "#000000",
paddingVertical: 10,
paddingLeft: 10,
margin: 10,
marginLeft: 10,
fontSize: 18,
borderWidth: 0.3,
borderRadius: 20,
textAlignVertical: "top",
borderColor: "rgba(175,180,43,0.8)"
},
button: {
width: null,
backgroundColor: "#1c313a",
borderRadius: 25,
margin: 15,
paddingVertical: 15
},
buttonText: {
fontSize: 16,
fontWeight: "500",
color: "#ffffff",
textAlign: "center"
}
});
最佳答案
忘掉原生组件吧,它有很多 bug。
使用这个:https://github.com/APSL/react-native-keyboard-aware-scroll-view
关于ios - KeyboardAvoidingView 在 IOS 上无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55761272/
enter image description here 当前行为KeyBoardAvoidingView 隐藏了登录按钮。在 Android 和 iPhone 上都一样。在 Android 平板电脑
我正在使用 React Natives KeyboardAvoidingView 设置显示键盘时我的 View 的高度。但是,当我在应用程序中关闭键盘时,View 的高度并没有变回原来的值。
上面的黄色区域是 Textarea 和一个按钮面板,预计会始终粘在屏幕底部。然而,当用户尝试输入时,键盘将阻止 View ,如下所示 我已经实现了 KeyboardAvoidingView 但它未能使
我搜索了很多关于这个问题,我现在不知道该怎么做,所以我决定在这里问,任何帮助将不胜感激。在我的注册屏幕中,我有一些 input该用户必须填写,最后一个我需要避免键盘覆盖。所以我用了 KeyboardA
我正在使用 react native 开发一个应用程序,我们有我们的设计师制作的屏幕布局。但我无法正确实现预期的行为。基本上它是一个带有一些文本输入和一个按钮的屏幕,当键盘出现时我需要一些东西来正确调
KeyboardAvoidingView 无法正常工作 我正在尝试将 KeyboardAvoidingView 与 behavior="padding" 一起使用。 出于某种原因,当我尝试在 Text
在我的 React-Native Expo 应用程序中,我似乎无法使用键盘来推送内容。我正在通过从我的开发机器发布它来从 expo App 测试它。 尽我所能,当键盘进入焦点时,似乎没有任何东西可以插
在我的 React-Native Expo 应用程序中,我似乎无法使用键盘来推送内容。我正在通过从我的开发机器发布它来从 expo App 测试它。 尽我所能,当键盘进入焦点时,似乎没有任何东西可以插
我遇到了 KeyboardAvoidingView 的问题,我有 3 个 TextInput,当我想在最后一个 TextInput 上写东西时,这个 TextInput 就被我的键盘偷走了。 expo
我有一个 TextInput按下时会被键盘覆盖。所以我把它包裹在 KeyboardAvoidingView .但不管我为此 View 设置的行为如何,TextInput不会在键盘上方移动。使用 pos
我在 tabnavigator 中有组件。在我的组件中,我有多行文本,所以当我在 InputText 键盘上输入多行时,我想使用 KeyboardAvoidingView 在键盘显示时推送屏幕。 这是
当使用具有behavior =“position”属性的KeyboardAvoidingView时,如果该KeyboardAvoidingView组件包含一个包含多个项目的View,则所有内部组件都会
我正在尝试将 KeyboardAvoidingView 与 behavior="padding"一起使用。 当我尝试在 TextInput 中输入任何文本时,TextInput 字段没有向上移动。我在
我使用 keyboardAvoidingView 来显示输入并使用下一个焦点。但是,当我点击第一个输入(打印标签 1623 - Acidez)时,这是隐藏的。如何显示这个?
I am using keyboardavoidingview in the following scroll to move up keyboard so that the submit butto
我有一个 FlatList 组件,每行内都有一个 Input。当我选择输入时,我希望它在键盘上方向上滚动。 我的代码: return ( } ListFooterCompo
我正在使用 React Native 的 Keyboard Avoiding View行为设置为填充(在 Android 上测试)。 我的屏幕上有多个 TextInput。当我单击最后一个 TextI
我正在尝试创建一个 KeyboardAvoidingView注册表单的区域。我已经将组件放到了一个在 iOS 和 Android 上可以进行实际键盘调整的地方。 但是,KeyboardAvoiding
我无法让 KeyboardAvoidingView 正常工作。对于类似的屏幕,它工作得很顺利,但是,对于另一个屏幕,它会将内容在屏幕上推得太远,在两者之间添加过多的空间。有修复吗? 代码:
我想知道如何在 React Native 中使用键盘。 当我点击输入内容(“发送”)时,没有键盘显示。 我尝试使用“KeyboardAvoidingView”,但键盘不显示。 ChatScreen.j
我是一名优秀的程序员,十分优秀!