在Android中获取屏幕宽度和高度如何获得屏幕的宽度和高度,并在以下内容中使用此值:@Override protected void onMeasure(int widthSpecId, int heightSpecId) {
Log.e(TAG, "onMeasure" + widthSpecId);
setMeasuredDimension(SCREEN_WIDTH, SCREEN_HEIGHT -
game.findViewById(R.id.flag).getHeight());}
3 回答
墨色风雨
TA贡献1853条经验 获得超6个赞
DisplayMetrics displayMetrics = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); int height = displayMetrics.heightPixels;int width = displayMetrics.widthPixels;
((Activity) getContext()).getWindowManager() .getDefaultDisplay() .getMetrics(displayMetrics);
public boolean showNavigationBar(Resources resources){
int id = resources.getIdentifier("config_showNavigationBar", "bool", "android");
return id > 0 && resources.getBoolean(id);}private int getNavigationBarHeight() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int usableHeight = metrics.heightPixels;
getWindowManager().getDefaultDisplay().getRealMetrics(metrics);
int realHeight = metrics.heightPixels;
if (realHeight > usableHeight)
return realHeight - usableHeight;
else
return 0;
}
return 0;}int height = displayMetrics.heightPixels + getNavigationBarHeight();
慕莱坞森
TA贡献1810条经验 获得超4个赞
public static int getScreenWidth() {
return Resources.getSystem().getDisplayMetrics().widthPixels;}public static int getScreenHeight() {
return Resources.getSystem().getDisplayMetrics().heightPixels;}注意:如果您想要的高度包括导航栏,请使用下面的方法
WindowManager windowManager =
(WindowManager) BaseApplication.getApplication().getSystemService(Context.WINDOW_SERVICE);
final Display display = windowManager.getDefaultDisplay();
Point outPoint = new Point();
if (Build.VERSION.SDK_INT >= 19) {
// include navigation bar
display.getRealSize(outPoint);
} else {
// exclude navigation bar
display.getSize(outPoint);
}
if (outPoint.y > outPoint.x) {
mRealSizeHeight = outPoint.y;
mRealSizeWidth = outPoint.x;
} else {
mRealSizeHeight = outPoint.x;
mRealSizeWidth = outPoint.y;
}
九州编程
TA贡献1785条经验 获得超4个赞
int Measuredwidth = 0; int Measuredheight = 0; Point size = new Point();WindowManager w = getWindowManager();
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
w.getDefaultDisplay().getSize(size);
Measuredwidth = size.x;
Measuredheight = size.y; }else{
Display d = w.getDefaultDisplay();
Measuredwidth = d.getWidth();
Measuredheight = d.getHeight(); }- 3 回答
- 0 关注
- 1137 浏览
添加回答
举报
0/150
提交
取消
