如何获取屏幕分辨率信息?

3

我需要获取屏幕分辨率、宽度和高度,该如何操作?

解决方法:

    Display d = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();


    width = d.getWidth();
    height = d.getHeight();
2个回答

6

我遇到了一个错误:类型Display未定义getInstance()方法。请问应该导入哪些内容? - tylercomp
1
现在可以使用以下代码来获取屏幕宽度和高度: Display d= ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();width = d.getWidth(); height = d.getHeight(); - tylercomp
我想补充一下,Eclipse没有自动为我找到WindowManager。你需要导入android.view.WindowManager和android.view.Display。谢谢提示! - Nathan Garabedian

4

请先问问自己为什么需要这样做。很可能你并不需要。如果是为了根据屏幕大小(布局等)进行任何操作,那么这将返回给你错误的信息,因为它告诉你的是屏幕的物理分辨率,而没有考虑状态栏、窗口装饰等任何因素。即使您将应用程序运行为全屏,在某些情况下,屏幕的某些部分也可能用于系统UI,您无法摆脱但会包含在Display返回的数字中。

正确的做法是调整视图在布局期间的大小,例如在其onSizeChanged()被调用时。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接