首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >反应本机制作背景图像避免键盘

反应本机制作背景图像避免键盘
EN

Stack Overflow用户
提问于 2017-02-22 02:23:12
回答 6查看 14.1K关注 0票数 4

我有一个用于页面的“全屏”背景图像:

代码语言:javascript
复制
container = {
    flex: 1,
    width: null,
    height: null
}

<View ...>
    ...
    <Image ... styles={container}>
        ...
        <TextInput ... />
        ...
    </Image>
</View>

但是,正如您可能注意到的,点击文本输入将打开键盘和高度的视图变化。由于图像被设置为覆盖,因此它也会随着视图的维数的变化而调整。我希望父视图和<Image>的高度不受键盘的影响,并且只有<Image>的内容应该被键盘推高。

我知道有一个可用,但我不知道如何使用它,甚至它是否处理这种情况。

任何想法都会很好。谢谢。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2017-02-22 07:27:30

我加了

代码语言:javascript
复制
android:windowSoftInputMode="adjustPan"

对我的AndroidManifest.xml来说,它的效果非常好--视图没有缩小,文本输入被推高。

票数 13
EN

Stack Overflow用户

发布于 2019-05-09 07:46:37

我喜欢这个“反应本地人”,它起作用了:

代码语言:javascript
复制
backgroundImage: {
    position: 'absolute',
    left: 0,
    top: 0,
    width: Dimensions.get('window').width,
    height: Dimensions.get('window').height,
},
票数 23
EN

Stack Overflow用户

发布于 2017-02-22 07:35:32

这是我所遇到的同样问题的解决方案。正如您所说的,您可以使用react-native-keyboard-avoiding-view,这是避免键盘的一种很好的方法,这个解决方案实现了这一点。

因此,我们现在看到的是一个样式为imageStyle包装everything的图像。

代码语言:javascript
复制
render() {
  return(
   <Image source={{uri: 'blabla'}} style={imageStyle}>
     <View style={styles.container}>
       <KeyboardAwareScrollView>
         <TouchableOpacity onPress={this.abc.bind(this)}>
           <View style={styles.abc}>
             <Text>Test</Text>
           </View>
         </TouchableOpacity>
         ...
       </KeyboardAwareScrollView>
       ...
     </View>
   </Image>
  )
} 

imageStyle

代码语言:javascript
复制
const imageStyle = {
  width: Dimensions.get('window').width,
  height: Dimensions.get('window').height,
  resizeMode: 'stretch',
}

奖励:如果要支持屏幕轮转,可以这样做:

代码语言:javascript
复制
const { width, height } = Dimensions.get('window')
const imageStyle = {
  width: width < height ? width : height,
  height: width < height ? height : width,
  resizeMode: 'stretch',
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42381568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档