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.
31 lines
881 B
31 lines
881 B
2 months ago
|
import { Dimensions } from "react-native";
|
||
|
|
||
|
// 获取屏幕宽高
|
||
|
const { width, height } = Dimensions.get("window");
|
||
|
|
||
|
const widthUtils = (heights: number, widths: number) => {
|
||
|
const baseWidth = 430;
|
||
|
const baseHeight = 932;
|
||
|
|
||
|
// 计算屏幕宽度和高度的缩放比例
|
||
|
const scaleWidth = width / baseWidth;
|
||
|
const scaleHeight = height / baseHeight;
|
||
|
|
||
|
// 选择较小的比例来进行自适应,保证布局不会过大
|
||
|
const scale = Math.min(scaleWidth, scaleHeight);
|
||
|
|
||
|
// 基准宽度和高度
|
||
|
const baseWidthValue = widths; // 设定一个基准宽度值
|
||
|
const baseHeightValue = heights; // 设定一个基准高度值
|
||
|
|
||
|
// 计算自适应的宽度和高度
|
||
|
const customWidth = baseWidthValue * scale + 2;
|
||
|
const customHeight = baseHeightValue * scale + 2;
|
||
|
return {
|
||
|
width: customWidth,
|
||
|
height: customHeight,
|
||
|
};
|
||
|
};
|
||
|
|
||
|
export default widthUtils;
|