2 ssummeraw ssummeraw 于 2013.01.10 17:50 提问

设置屏幕的宽和高问题

我用的下面的代码设置的屏幕的宽和高

@Override protected void onMeasure(int widthSpecId, int heightSpecId) {
   Log.e(TAG, "onMeasure" + widthSpecId);
   setMeasuredDimension(SCREEN_WIDTH, SCREEN_HEIGHT - 
      game.findViewById(R.id.flag).getHeight());
}

但是没有获得。请问使用上面代码中的值如何获取屏幕的宽和高啊?

2个回答

Baby_Bonnie
Baby_Bonnie   2013.01.11 11:35
已采纳

使用下面的代码你可以获得执行时间Display's Width & Height

DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
int height = displaymetrics.heightPixels;
int wwidth = displaymetrics.widthPixels;
CSDN_Ask
CSDN_Ask   2013.01.14 11:17

通过 parag 和 SpK 来更新回答并结合当前deprecated 方法中的SDK向后兼容性。

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(); 
    }
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!