react-native 适配不同手机屏幕

前提:设计图为iphone6尺寸(750*1334),像素密度默认为2

相关代码:

import {

     Dimensions,

     PixelRatio,

} from 'react-native';

export const deviceWidth = Dimensions.get('window').width;      //设备的宽度

export const deviceHeight = Dimensions.get('window').height;    //设备的高度


let pixelRatio = PixelRatio.get();      //当前设备的像素密度

const defaultPixel = 2;                          //iphone6的像素密度

//px转换成dp

const w2 = 750 / defaultPixel;

const h2 = 1334 / defaultPixel;

const scale = Math.min(deviceHeight / h2, deviceWidth / w2);  //获取缩放比例


export function scaleSize(size: number) {

         size = Math.round(size * scale + 0.5);

         return size;

}


使用时:

fontSize:scaleSize(14)

你可能感兴趣的:(react-native 适配不同手机屏幕)