react-native样式布局

使用react-native是不带单位的,样式都是
<View style={{width:100,height:100}}></View>
都是这样写的 
官方文档中有一段关于布局的描述是:

static getPixelSizeForLayoutSize(layoutSize: number)
Convert a layout size (dp) to pixel size(px).
Guaranteed to return an integer number.

1dp = 1(css)px = pixelRatio

官网给dp的定义是:
A dp is equal to one physical pixel on a screen with a density of 160.
To calculate dp:
dp = (width in pixel * 160) / screen density

很明显,dp与px有一个关于(160/screen density)的正相关关系
自适应布局方案采用了,将ui等比放大到app上的自适应布局

import {Dimensions} from 'react-native';
const deviceWidthDp = Dimensions.get('window').width;
const uiWidth = 640;
function pxToDp(uiElementPx) {
return uiElementPx * deviceWidthDp / uiWidth;
}

调用方法:

import pxToDp from './pxToDp';
<View style={{width:pxToDp(100),height:pxToDp(100)}}></View>

 

转载于:https://www.cnblogs.com/wthtiva/p/5409811.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值