《React-Native系列》42、键盘遮挡问题官方处理方法KeyboardAvoidingView
来源:互联网 发布:rbf神经网络 python 编辑:程序博客网 时间:2024/06/05 20:03
今天,偶然翻Github发现了KeyboardAvoidingView,原来FaceBook的开发者们也意识到了键盘遮挡的问题。
从0.31版本开始,提供了官方的解决方案。
源码地址如下:https://github.com/facebook/react-native/blob/master/Libraries/Components/Keyboard/KeyboardAvoidingView.js
使用方法如下:
KeyboardAvoidingView的主要属性behavior PropTypes.oneOf(['height', 'position', 'padding'])
这个三个属性什么意思?我也不知道,那就一个个试吧!
Demo如下:
里面的内容分3块:上面一个View,中间一个Textinput,下面一个View
页面显示如下:
1、我们先设置KeyboardAvoidingView behavior='padding'
发现设置为padding后并没有解决键盘被覆盖的问题,后来我想是不是因为里面有Scrollview组件的问题,尝试去掉Scrollview组件,将Scrollview改为View就可以了。
可是,我们通常的输入表单都是用Scrollview嵌套的啊???这个问题怎么解?
效果如下:
2、我们再设置KeyboardAvoidingView behavior='position'
效果如下:
我反复修改Bottom Area 的高度值,发现设置为position时,只是单纯的将当前TextInput的位置上移了 一个键盘的高度。
这样其实也是有问题的,譬如这种情况:
当前输入时,我们的TextInput就已经处于屏幕的顶端,如果再上移一个键盘的高度,那么我的TextInput是不可见的。
3、我们再设置KeyboardAvoidingView behavior='height'
没有任何效果,将Scrollview修改为View,也没有任何效果。
如果大家感兴趣也可以试下,感觉KeyboardAvoidingView的坑很多啊。
如果大家对KeyboardAvoidingView组件的使用有什么好的方法,可以留言告诉我,谢谢!
备注:以上实验是只在iPhone5s 系统 iOS10.1模拟器上进行。
实验版本:"React-native": "0.35.0"
- 《React-Native系列》42、键盘遮挡问题官方处理方法KeyboardAvoidingView
- 《React-Native系列》42、键盘遮挡问题官方处理方法KeyboardAvoidingView
- 《React-Native系列》33、 键盘遮挡问题处理
- 《React-Native系列》33、 键盘遮挡问题处理
- React-Native键盘遮挡问题进阶发现
- React-Native解决键盘遮挡问题(Keyboard遮挡问题)
- React-Native解决键盘遮挡问题(Keyboard遮挡问题)
- 《React-Native系列》44、基于多个TextInput的键盘遮挡处理方案优化
- React Native 解决iOS上键盘遮挡TextInput问题
- React Native 解决ScrollView 上 TextInput 键盘遮挡问题
- React-native键盘遮挡输入框问题的解决
- React Native 解决 iOS 上键盘遮挡 TextInput 问题
- React Native TextInput键盘遮挡输入款问题
- React Native学习之TabBarIOS用法 React Native 解决iOS上键盘遮挡TextInput问题
- ios 处理键盘遮挡问题
- React Native 解决iOS上键盘遮挡TextInput
- React-Native学习之 防止键盘遮挡TextInput
- React Native 键盘KeyBoard问题
- ubuntu下apache服务器操作方法
- 《React-Native系列》40、刨根问底Picker组件
- 单例模式的一种应用场景
- Android判断网络连接
- 《React-Native系列》React-Native实战系列博客汇总
- 《React-Native系列》42、键盘遮挡问题官方处理方法KeyboardAvoidingView
- 修改linux用户密码
- wpf Page页与Frame的连接
- 正则表达式
- 安卓支持下拉刷新,上拉加载更多的ListView
- 优秀博客搜集
- mysql-5.7.17-winx64免安装版环境配置 问题小记
- 智邦交换机在hybrid模式下license更新
- PAT编程基础 5-9 用天平找小球 (10分)