问题描述
- 用代码的方式获得屏幕的精确大小尺寸
-
我使用下面的代码来获得屏幕的大小,但是没有得到正确的值。Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); int width = display.getWidth(); int height=display.getHeight();
数据返回平板装置尺寸的大小320 x 480。这个不是正确的值。
我想要的大小尺寸数据值是600 x 1024。
解决方案
我经常使用这个代码,从来没有报错:
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();
解决方案二:
public static int getScreenWidth(Context context){
WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display display = windowManager.getDefaultDisplay();
return display.getWidth();
}
public static int getScreenHeight(Context context){
WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display display = windowManager.getDefaultDisplay();
return display.getHeight();
}
解决方案三:
LZ你程序中width的单位是px, 你说的600可能是dp值,可以使用下面的代码来验证一下:
final float scale = context.getResources().getDisplayMetrics().density;
打印出scale来看下,如果scale = 320/600 = 0.5333333的话,说明你所需要的600单位应该是dp。
解决方案四:
过期了,这个方法过期了,然后呢?
时间: 2024-12-21 20:20:09