我使用以下方法来获取屏幕尺寸:
public static Point getScreenSize(Context context)
{
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
int w = wm.getDefaultDisplay().getWidth();
int h = wm.getDefaultDisplay().getHeight();
return new Point(w, h);
}
在我的三星 Galaxy s6 上,此方法返回 1080x1920...尽管我的设备分辨率为 1440x2560。
为什么?有没有更好的方法来获得适用于较新手机的可靠屏幕分辨率?
EDIT
我在服务中需要这个方法!我没有需要帮助的视图/活动,只有应用程序上下文!我需要真实的像素
获取屏幕分辨率的最佳方法是从DisplayMetrics
:
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int width = displayMetrics.widthPixels;
int height = displayMetrics.heightPixels;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)