React Native 适配问题汇总
2017-07-17 20:57
441 查看
1. 小米手机上存在文字截断的问题
描述:居中对齐的Text在水平方向上会缺失最后一个字
设置了行高的Text在垂直方向上最后一行会被截断
原因:小米使用了自定义的字体,从而造成了该问题
解决方案:
针对android设备统一把字体设置成android默认字体 fontFamily: 'DroidSansFallback'
2.在Android上图片的容器被设置成圆角和 overflow:'hidden' 后,图片不会显示成圆角
原因:该0.41版本的RN在android上对圆角的支持有缺陷解决方案:
额外的个图片设置圆角属性(注意:这里是属性不是样式,图片的圆角样式不生效的)
<Image borderRadius={20} />
// or
<Image borderTopLeftRadius={20} borderTopRightRadius={20} />
3.在Android上View组件的ref有时会获取到是undefined
原因:android默认的机制是实际渲染中不会渲染不影响布局的View, 因此如果你ref的视图刚好被忽略了,就无法获取到了解决方案:全局禁用改特性,在 Global.js 中全局禁用改特性
let originalViewDefaultProps = View.defaultProps; View.defaultProps = { ...originalViewDefaultProps, collapsable: false, };
4.在RN中如何用样式写三角形?
triangle { width: 0, height: 0, borderWidth: 7, // 等腰三角形底边长度 borderColor: 'transparent', borderTopColor: '#FF9F82', // 向下的三角形 // borderBottomColor: '#FF9F82', // 向上的三角形 // borderLeftColor: '#FF9F82', // 向右的三角形 // borderRightColor: '#FF9F82', // 向左的三角形 }
rightBottomTriangle { width: 0, height: 0, borderWidth: 7, // 三角形直角边长度 borderColor: 'transparent', borderBottomColor: '#FF9F82', borderRightColor: '#FF9F82', }
5.搜索联想列表项要两次点击才会触发回调,第一次只会触发收起键盘
原因:键盘弹起状态下,默认列表视图的点击会被全局捕获用于收起键盘。解决方案:
给联想列表所在的 ScrollView or ListView 增加如下属性:
keyboardShouldPersistTaps={true}
6.android和iOS对屏幕点击事件的响应和视图点击事件的响应是相反的
原因:在android上,首先会捕捉全局屏幕点击事件,再响应视图的点击事件
在iOS上,首先响应的是视图的点击事件,再捕捉全局屏幕点击事件
解决方案:
在需要对处理捕捉全局屏幕点击事件和响应视图的点击事件要分别处理的时候,不应该以事件调用顺序作为参考
7.键盘遮挡相关问题
描述:输入框获取焦点弹出键盘会盖住处于屏幕下方的内容解决方案:使用第三方库react-native-keyboard-spacer,键盘弹起时会自动将一个键盘等高的view压在<KeyboardSpacer/>标签所在位置
// 引用
import KeyboardSpacer from 'react-native-keyboard-spacer';
// 插入
<ScrollView>
...
</ScrollView>
<KeyboardSpacer/>
相关文章推荐
- 集成 jpush-react-native 常见问题汇总 (iOS 篇)
- React-Native系列Android——Win7系统环境搭建问题汇总
- React Native 问题汇总
- React Native常见问题汇总(持续更新ing)
- 集成 jpush-react-native 常见问题汇总 (iOS 篇)
- [原创]最近使用React-Native的适配问题和警告搜集
- react native 配置方面的问题汇总
- react-native 打包成web项目用于微信公众号,以及问题汇总
- React-native 问题汇总
- 使用React-Native的适配问题和警告搜集
- React Native 分辨率适配问题
- 集成 jpush-react-native 常见问题汇总 (iOS 篇)
- 集成 jpush-react-native 常见问题汇总 (iOS 篇)
- 知乎上关于ReactNative的评论汇总(网友们有才哟...)
- React-Native android在windows下遇到的问题
- 解决react-native的Navigator跳转不刷新页面的问题
- react native 问题(mac系统) Could not get BatchedBridge, make sure your bundle is packaged correctly 问题解决
- React-Native调试状态下App运行缓慢问题解决方案
- react native onEndReached频繁多次调用问题