uniapp getScale
uniapp getScale 实现方法
在UniApp中获取屏幕缩放比例(scale)可以通过以下方式实现:
通过uni.getSystemInfo获取
uni.getSystemInfo({
success: function(res) {
const pixelRatio = res.pixelRatio
console.log('设备像素比:', pixelRatio)
}
})
计算实际缩放比例
如果需要计算相对于设计稿的缩放比例,可以使用以下方法:
// 假设设计稿宽度为750rpx
const designWidth = 750
uni.getSystemInfo({
success: function(res) {
const scale = res.windowWidth / (designWidth / 2)
console.log('相对于设计稿的缩放比例:', scale)
}
})
处理不同单位转换
对于需要处理rpx与px转换的情况:
function getScale() {
const systemInfo = uni.getSystemInfoSync()
return systemInfo.windowWidth / 375 // 基于375设计稿
}
注意事项
- 不同设备返回的pixelRatio可能不同,通常为1、2或3
- 在H5端需要考虑viewport的meta标签设置
- 小程序端获取的值与原生环境一致
响应式方案
可以结合uni.upx2px方法实现动态缩放:

const scale = uni.upx2px(750) / 375 // 将750rpx转换为px后计算比例
以上方法可根据实际需求选择使用,建议在页面onLoad时获取并存储scale值供全局使用。






