我使用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/