当TextInput聚焦和Android键盘打开时,需要在键盘上方的屏幕上居中TextInput。你好吗?
答案 0 :(得分:5)
由于某种原因,justifyContent不适用于TextInput,所以只需使用边距。这是一个例子:
var styles = StyleSheet.create({
textInput: {
marginLeft: 50,
marginRight: 50
}
});
只需确保将样式设置为TextInput:
<TextInput style={styles.textInput} />
几乎忘了 - 不要设置宽度,使用边距来定义尺寸,或者它不会工作。
答案 1 :(得分:1)
您需要使用flexbox。
在父容器上,您需要以下内容:
var styles = StyleSheet.create({
contaner: {
display: 'flex',
flexDirection: 'row',
justifyContent: 'center
}
});
以下是flexbox的一个很好的指南:https://css-tricks.com/snippets/css/a-guide-to-flexbox/
答案 2 :(得分:0)
我知道这是一个老问题,但我遇到了同样的问题,并找到了解决方案,所以我想我会分享给其他有此问题的人。
我有一个带样式的容器:
flex:1,
justifyContent: 'center',
alignItems: 'center'
在该容器中,我有几个Text
元素,以及Slider
和TextInput
。除了TextInput
之外,一切都正确居中。为了解决这个问题,我在TextInput
的样式中添加了以下内容:
alignSelf: 'center'
现在TextInput
正好在屏幕上居中。