React Native自适应设备宽度解决方案

时间:2023-03-09 19:30:21
React Native自适应设备宽度解决方案

px:设备实际像素单位

dp/pt:逻辑像素单位(IOS的尺寸单位为pt,Android的尺寸单位为dp)

在设计和开发过程中,应该尽量使用逻辑像素尺寸来思考界面。

UI 给默认 640 的图,采用 pxToDp 函数,即可将 UI 等比放大到机器上。

import {Dimensions} from 'react-native';

// 58 app 只有竖屏模式,所以可以只获取一次 width
const deviceWidthDp = Dimensions.get('window').width;
// UI 默认给图是 640
const uiWidthPx = 640; function pxToDp(uiElementPx) {
return uiElementPx * deviceWidthDp / uiWidthPx;
} export default pxToDp;

调用方法

import pxToDp from './pxToDp';

...
<View style={{width:pxToDp(100),height:pxToDp(100)}}></View>
... 参考网址:

React Native 的默认单位和自适应布局方案

react-native 之布局篇

移动端尺寸基础知识

React Native自适应设备宽度解决方案

React Native自适应设备宽度解决方案