React Native屏幕尺寸适配
安卓原生的话有自己的适配规则,可以根据不同的尺寸建立不同的文件夹,系统会根据当前的设备尺寸取对应的大小的布局。而RN本身并没有适配规则,而原生的又比较反锁,这就需要我们自己去对屏幕进行适配。
rn中直接写宽高都是dp的
/*** 屏幕工具类* ui设计基准,iphone 6* width:750* height:1334*/
var ReactNative = require('react-native');
var Dimensions = require('Dimensions');
export var screenW = Dimensions.get('window').width;
export var screenH = Dimensions.get('window').height;
var fontScale = ReactNative.PixelRatio.getFontScale();
export var pixelRatio = ReactNative.PixelRatio.get();
const r2=2;
const w2 = 750/r2;``
const h2 = 1334/r2;
/*** 设置text为sp* @param size sp* @returns {Number} dp*/
export const DEFAULT_DENSITY=2;
export function setSpText(size:Number) {var scaleWidth = screenW / w2;var scaleHeight = screenH / h2;var scale = Math.min(scaleWidth, scaleHeight);size = Math.round((size * scale + 0.5) * pixelRatio / fontScale);return size;
}
/*** 屏幕适配,缩放size* @param size* @returns {Number}* @constructor*/
export function scaleSize(size:Number) {var scaleWidth = screenW / w2;var scaleHeight = screenH / h2;var scale = Math.min(scaleWidth, scaleHeight);size = Math.round((size * scale + 0.5));return size/DEFAULT_DENSITY;
}
样式中引用
const styles = StyleSheet.create({container: {backgroundColor: 'white',justifyContent: 'space-between',flexDirection: 'row',paddingTop: ScreenUtils.scaleSize(22),paddingBottom: ScreenUtils.scaleSize(22),paddingRight: ScreenUtils.scaleSize(12),paddingLeft: ScreenUtils.scaleSize(12),alignItems: 'center'},
});
React Native屏幕尺寸适配相关推荐
- Android屏幕尺寸适配常见方案smallestWidth
前言 介于目前的Android设备存在有不同的屏幕尺寸,屏幕分辨率,像素密度,Android应用在开发的过程必须要考虑到屏幕尺寸适配的问题,以保证在不同尺寸的Android设备上都能够正常运行. 基本 ...
- 聊聊React Native屏幕适配那些事儿
点击上方 前端瓶子君,关注公众号 回复算法,加入前端编程面试算法每日一题群 作者:张子君 原文:https://segmentfault.com/a/1190000039805723 写在前面 在我从 ...
- 简析在React Native中如何适配iPhoneX
欢迎大家关注[跨平台开发那些事]公众号,定期推送跨平台开发技术实践. 一.介绍 iPhone X 发布也有一段时间了,独特的 "齐刘海",以及 "小嘴巴" 带给 ...
- React Native 暗黑模式适配方案
Android设备在 10 之后提供了对于暗黑模式的支持, iOS也在 iOS13之后提供了同样的支持.React Native 在 0.62 版本中增加了对于暗黑模式功能的支持,用来提升App用户体 ...
- 关于android屏幕尺寸适配的整理以及思考
一直以来android屏幕尺寸相关的东西我都很薄弱,什么dpi, ppi, 英寸我都比较疑惑,本文主要是理清概念,理解头条的屏幕适配原理,以为目前我工作是如何做UI适配的. 一些基础概念 屏幕尺寸 屏 ...
- flutter 屏幕尺寸适配 字体大小适配,android面试常用算法
width: ScreenUtil().setWidth(375), height: ScreenUtil().setHeight(200), ), 适配字体: ScreenUtil().setSp( ...
- Android屏幕尺寸适配注意事项
1 基本设置 1.1 AndroidManifest.xml设置 在<manifest>中添加子元素<supports-screens android:largeS ...
- 前端屏幕尺寸 适配 拿走即用附加详细注释
rem适配方案 无注释版本 // H5页面的rem适配计算 自调用函数 (function(doc, win, baseW) {var docEl = doc.documentElement,resi ...
- Android 根据屏幕尺寸适配控件大小(按比例缩放)
在写布局时就在想有没有一种方式跟随屏幕大小自动缩放呢? 寻思半天不如上手写个出来 package com.android.juzi.layout;import android.app.Activity ...
最新文章
- 2019年中国工业机器人首次出口数量大于进口数量
- 新手学习编程的最佳方式是什么?
- 判别两棵树是否相等 设计算法_从匈牙利算法到KM算法
- Js时间戳转为日期格式
- springcloud Feign工程熔断器Hystrix
- (7)<a>标签之锚点和回到顶部功能
- python如何获取javascript动态产生的数据
- python常用模块初始
- 关于在nodejs上使用es6特性
- 屏蔽KEmulator的内存查看功能
- VB.net调用蒙恬Write2Go笔迹手写板进行电子签名
- 朱嘉明《火药:改变了人类历史演变模式》
- kindle上网看其他网址_原来kindle不止可以看书,快来看看体验版浏览器怎么玩!...
- tfidf算法 python_Python TFIDF计算文本相似度
- https的安全密钥
- 关于laravel下composer安装excel插件
- 记一次修改阿里云DNS解析问题
- java-php-python-springboot线上教学平台计算机毕业设计
- python习题计算a+aa+aaa+aaaa的结果 lintcode题目
- 深度学习笔记(六):过拟合是什么意思