我一直在使用 Android 模拟器为多种屏幕尺寸测试我的 xml 布局。我在 AVD 中为 Motorola Razr 创建了一个新设备(分辨率:540x960),尺寸(英寸)= 4.3,hdpi。
奇怪的是,metrics.height是 888 而不是 960,而metrics.width是正确的 (=540)。
DisplayMetrics metrics = new DisplayMetrics();
this.getWindowManager().getDefaultDisplay().getMetrics(metrics);
Log.i("widthPx: ", ""+metrics.widthPixels); // comes out 540
Log.i("heightPx", ""+metrics.heightPixels); // comes out 888 ?? How come ??
现在,我的问题是如何在测试布局时依赖这个虚拟设备。我还创建了一个分辨率为 540x1032 的新 AVD,其宽度和高度以编程方式精确为 540x960(故意将 88px 添加到 960px (==1032) 以获得所需的高度)。我应该改用这个设备吗?我很困惑。
我还仔细检查了我的 AVD 中的每个细节是否正确输入。如果有人遇到过类似情况,请提供帮助。
在我看来,这是 AVD 的某种错误。