是否有可能在服务中(即不在活动中)获得屏幕的工作区域,即它的高度减去顶部的状态栏高度和底部的软键空间(“返回”、“主页”等)?
问问题
613 次
2 回答
2
private DisplayMetrics displayMetrics = new DisplayMetrics();
WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
windowManager.getDefaultDisplay().getMetrics(displayMetrics);
int height = displayMetrics.heightPixels;
int width = displayMetrics.widthPixels;
我已经从服务中尝试过了,它对我有用。在 2.3 设备上(在 Galaxy Y 和 Nexus One 上试用过)它提供了完整的屏幕尺寸。但是在 4.x 设备上(在 Nexus 4 上试过),它给出的屏幕尺寸减去状态栏。如果您找到了更可靠的方法,请发布。
于 2013-07-31T14:14:46.547 回答
0
除了 Srikant 的回答,这里还有另一种获取显示尺寸的方法:
DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
int height = displayMetrics.heightPixels;
int width = displayMetrics.widthPixels;
这给出了与 Srikant 的答案相同的高度和宽度。
于 2013-08-01T10:41:09.507 回答