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

时间:2010-09-03 17:13:39

标签: android

我需要获得屏幕分辨率,宽度和宽度。身高,我该怎么做?

解决方案:

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


    width = d.getWidth();
    height = d.getHeight();

2 个答案:

答案 0 :(得分:6)

Display d=Display.getInstance();
int width = d.getDisplayWidth();
int height = d.getDisplayHeight();

根据http://forums.java.net/jive/message.jspa?messageID=479230

或可能

Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
int width = display.getWidth(); 

http://www.coderanch.com/t/435390/Android/Mobile/screen-size-at-run-time

答案 1 :(得分:4)

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

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