我有两个模拟器。如果我做了
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
然后对于一个dm.densityDpi(和dm.xpdi和dm.ypdi)是160.景观模式中的dm.heightpixels是800.皮肤是标准的wxga,运行Android 3.1。
另一个模拟器的dm.densityDpi为240.在纵向模式下,dm.heightpixels也是800.皮肤是标准的wvga800,运行Android 2.3.3(以及具有相同规格的2.1.1)。
如果我有一个TextView电视,并执行:
tv.setTextSize(TypedValue.COMPLEX_UNIT_SP, 20);
在wxga横屏上,它显示正常。在wvga800纵向屏幕上,文字水平离开屏幕。屏幕太小,无法显示从上到下,而不是从左到右的所有结果。
这对我没有意义。当heightPixels对于两者都相同时,为什么具有较小dpi的模拟器能够显示更多文本?我会假设反过来也是如此。
答案 0 :(得分:1)
仿真器上的Scaled密度设置不同。
答案 1 :(得分:0)
我也有同样的问题,试试这个你可以得到正确的答案 Screen Resolution Problem