我使用displaymetrics获取设备的屏幕尺寸。在智能手机中效果很好,但在平板电脑中,它返回屏幕宽度和高度的2/3。谁能告诉我为什么?

那是代码:

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int screenheight = metrics.heightPixels;
int screenwidth= metrics.widthPixels;

最佳答案

尝试使用getRealMetrics()代替:

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getRealMetrics(metrics);


该API是在API 17中正式添加的,但在我有限的测试中,即使在4.0设备上它也可以正常工作,因此在此之前它可能是隐藏的API。

官方文档here,尽管似乎有更多的理由表明另一个API不能达到您期望的效果,而不是那里所暗示的含义。

如果有些ICS设备无法使用此API,则也可以尝试使用here提及的后备。

关于android - android displaymetrics返回屏幕大小的2/3,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10381524/

10-10 10:11