React Native 之 获取不同屏幕的像素密度
2016-03-30 14:58
519 查看
使用React Native开发 User Interface,初步了解之后,产生一个疑问,使用flexbox开发页面,width及height属性等输入大小或者说尺寸的地方,不能输入单位,如 height:80,通过JSX传化之后到都是按 px 像素单位处理的,因此在这个不同分配率的手机和不同密度的手机显示的效果不同,如何解决这个问题?
你猜我找到了什么?
React Native 提供的像素比获取神器PixelRatio
PixelRatio类提供给我们几个重用的方法,整理如下:
1、返回设备的像素密度
等同于在Android开发中通过代码
获取到的手机设备密度。
返回结果如下图:(这是从官网上盗的图,^_^)
举个栗子
返回的就是当前设备的最小线宽。
2、 返回字体大小的缩放因子
获取到的比率是用来计算文字的绝对大小,所以对计算的精度要求很高的元素,应该使用这个比率。
例如用户在通过 Setting > Display > Font Size 设置设备的字体显示大小,这个值就会改变,默认的情况下返回设备的像素比。
3、 单位 dp 转换成 px
在UI开发的过程中最长使用到的方法。
结论
这个类的使用,以后再开发的过程中还会持续更新。
你猜我找到了什么?
React Native 提供的像素比获取神器PixelRatio
PixelRatio类提供给我们几个重用的方法,整理如下:
1、返回设备的像素密度
static get()
等同于在Android开发中通过代码
context.getResources().getDisplayMetrics().density;
获取到的手机设备密度。
返回结果如下图:(这是从官网上盗的图,^_^)
举个栗子
borderwidth : 1/PixelRatio.get()
返回的就是当前设备的最小线宽。
2、 返回字体大小的缩放因子
static getFontScale()
获取到的比率是用来计算文字的绝对大小,所以对计算的精度要求很高的元素,应该使用这个比率。
例如用户在通过 Setting > Display > Font Size 设置设备的字体显示大小,这个值就会改变,默认的情况下返回设备的像素比。
3、 单位 dp 转换成 px
static getPixelSizeForLayoutSize(layoutSize:number)
在UI开发的过程中最长使用到的方法。
结论
这个类的使用,以后再开发的过程中还会持续更新。
相关文章推荐
- react-router 使用
- [React] React Router: Redirect
- [React] React Router: Querystring Parameters
- 我是怎么从顾虑到热爱ReactJS的(与AngularJS经典MVC数据绑定的对比)
- ReactNative细节汇总
- Angular.js、React.js整合
- React Native第3天——常用组件和常见Q&A
- react開發環境搭建
- MVVM 模式优化MVC模式之With ReactiveCocoa
- React.js入门学习第一篇
- 基于React.js实现原生js拖拽效果引发的思考
- MVVM With ReactiveCocoa
- React组件生命周期
- React Native for Android 发布独立的安装包
- 夜晚 十点 React-Native 源码 暴力畜 系列
- 配置React Native环境
- 知乎上关于ReactNative的评论汇总(网友们有才哟...)
- 深入浅出React Native 3: 从零开始写一个Hello World
- 使用Typescript编写Redux+Reactjs应用程序
- React.js实现原生js拖拽效果及思考