You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
18 lines
812 B
18 lines
812 B
import { Dimensions } from 'react-native';
|
|
|
|
const { width, height } = Dimensions.get('window');
|
|
const [shortDimension, longDimension] = width < height ? [width, height] : [height, width];
|
|
|
|
//Default guideline sizes are based on standard ~5" screen mobile device
|
|
const guidelineBaseWidth = 350;
|
|
const guidelineBaseHeight = 680;
|
|
|
|
export const scale = size => shortDimension / guidelineBaseWidth * size;
|
|
export const verticalScale = size => longDimension / guidelineBaseHeight * size;
|
|
export const moderateScale = (size, factor = 0.5) => size + (scale(size) - size) * factor;
|
|
export const moderateVerticalScale = (size, factor = 0.5) => size + (verticalScale(size) - size) * factor;
|
|
|
|
export const s = scale;
|
|
export const vs = verticalScale;
|
|
export const ms = moderateScale;
|
|
export const mvs = moderateVerticalScale; |