12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- import {
- PixelRatio,
- Dimensions
- } from 'react-native';
- export let screenW = Dimensions.get('window').width;
- export let screenH = Dimensions.get('window').height;
- const fontScale = PixelRatio.getFontScale();
- export let pixelRatio = PixelRatio.get();
- //像素密度
- export const DEFAULT_DENSITY = 2;
- //px转换成dp
- //以iphone6为基准,如果以其他尺寸为基准的话,请修改下面的defaultWidth和defaultHeight为对应尺寸即可. 以下为1倍图时
- const defaultWidth = 375;
- const defaultHeight = 667;
- const w2 = defaultWidth / DEFAULT_DENSITY;
- //px转换成dp
- const h2 = defaultHeight / DEFAULT_DENSITY;
- //缩放比例
- const _scaleWidth = screenW / defaultWidth;
- const _scaleHeight = screenH / defaultHeight;
- // iPhoneX
- const X_WIDTH = 375;
- const X_HEIGHT = 812;
- /**
- * 屏幕适配,缩放size , 默认根据宽度适配,纵向也可以使用此方法
- * 横向的尺寸直接使用此方法
- * 如:width ,paddingHorizontal ,paddingLeft ,paddingRight ,marginHorizontal ,marginLeft ,marginRight
- * @param size 设计图的尺寸
- * @returns {number}
- */
- function scaleSize(size: Number) {
- return size * _scaleWidth;
- }
- /**
- * 屏幕适配 , 纵向的尺寸使用此方法应该会更趋近于设计稿
- * 如:height ,paddingVertical ,paddingTop ,paddingBottom ,marginVertical ,marginTop ,marginBottom
- * @param size 设计图的尺寸
- * @returns {number}
- */
- function scaleHeight(size: Number) {
- return size * _scaleHeight;
- }
- export default {
- scaleSize,
- scaleHeight,
- }
|