我需要获得屏幕分辨率,宽度和宽度。身高,我该怎么做?
解决方案:
Display d = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
width = d.getWidth();
height = d.getHeight();
答案 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()时。