creator 生成android项目,为什么获取设备宽高的像素值不对

create 版本 2.4.4
设备华为平板M6
creator构建生成的Android项目,通过如下常规获取设备宽高像素值的方式,获取的宽高像素值比实际小;
DisplayMetrics dm = new DisplayMetrics();
WindowManager windowMgr = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
windowMgr.getDefaultDisplay().getRealMetrics(dm);
} else {
windowMgr.getDefaultDisplay().getMetrics(dm);
}
Log.d(“demo”, “—getMetrics–w:”+dm.widthPixels);
Log.d(“demo”, “—getMetrics–h:”+dm.heightPixels);

生成项目中如上方式获取的宽高是:2240 x 1400
实际设备的宽高:2560 x 1600
创建一个新的项目,获取的宽高是正常的。

let d_size = cc.view.getDesignResolutionSize();

    var c_size = cc.view.getCanvasSize();

    console.log(d_size.width)

    console.log(c_size.width)

android 平台可以试试 cc.view.getVisibleSizeInPixel();

1赞

关键问题找到了,
为什么我们构建完成的应用会引发华为设备自动选取较小(较省电的分辨率)分辨率;
如果华为设备开启了智能分辨率,我们生成的应用会自动选取较小的分辨率;
这个在哪个位置有设置吗?

集成我们生成的Android项目后,华为Android10的设备,如果开启了智能分辨率,
app 打开后,总会被锁定到较小的分辨率,
这个有办法规避吗