import {
Platform,
Dimensions,
PixelRatio
} from 'react-native';
// iPhoneX
const X_WIDTH = 375;
const X_HEIGHT = 812;
// screen 屏幕寬度
export const SCREEN_WIDTH = Dimensions.get('window').width;
// screen 屏幕高度
export const SCREEN_HEIGHT = Dimensions.get('window').height;
/*
是否iPhone X
*/
export function isIphoneX() {
return (
Platform.OS === 'ios' &&
((SCREEN_HEIGHT === X_HEIGHT && SCREEN_WIDTH === X_WIDTH) ||
(SCREEN_HEIGHT === X_WIDTH && SCREEN_WIDTH === X_HEIGHT))
)
}
// 字體大小縮放比例
var fontScale = PixelRatio.getFontScale();
// 設備像素密度
export var pixelRatio = PixelRatio.get();
/*
設計圖標准 750 * 1334
*/
const w2 = 750 / 2;
const h2 = 1334 / 2;
/**
* 設置text為sp
* @param size sp
* @returns size
*/
export const DEFAULT_DENSITY = 2;
export function setSpText(size) {
var scaleWidth = SCREEN_WIDTH / w2;
var scaleHeight = SCREEN_HEIGHT / h2;
var scale = Math.min(scaleWidth, scaleHeight);
size = Math.round((size * scale + 0.5) * pixelRatio / fontScale);
return size / PixelRatio.get();
}
/**
* 屏幕適配,縮放size
* @param size
* @returns size
* @constructor
*/
export function scaleSize(size) {
var scaleWidth = SCREEN_WIDTH / w2;
var scaleHeight = SCREEN_HEIGHT / h2;
var scale = Math.min(scaleWidth, scaleHeight);
size = Math.round((size * scale + 0.5));
return size;
}
/*
導出URL 可以用
export const baseURLVersion = 'www.baidu.com';
*/