如何获得设备的屏幕尺寸?

时间:2011-07-05 21:29:00

标签: android

我想获得一个Android屏幕的高度,如果屏幕有一定的高度,我该怎么做呢?

3 个答案:

答案 0 :(得分:59)

如果您想要显示尺寸(以像素为单位),可以使用以下代码:

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth();
int height = display.getHeight();

然后您可以添加比较高度的条件以满足您的需求。

以英寸为单位:

DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
double x = Math.pow(dm.widthPixels/dm.xdpi,2);
double y = Math.pow(dm.heightPixels/dm.ydpi,2);
double screenInches = Math.sqrt(x+y);
Log.d("debug","Screen inches : " + screenInches);

答案 1 :(得分:20)

从活动中:

int width = getWindowManager().getDefaultDisplay().getWidth();
int height = getWindowManager().getDefaultDisplay().getHeight();

或者,如果您只有Context个对象:

WindowManager windowManager = (WindowManager)mContext.getSystemService(WINDOW_SERVICE);
int width = windowManager.getDefaultDisplay().getWidth();
int height = windowManager.getDefaultDisplay().getHeight()

<强>已更新即可。如何检测您的应用程序在大屏幕上运行:

//Android Level 9 and up:
Configuration config = getResources().getConfiguration();
if((config.screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) ==  
    Configuration.SCREENLAYOUT_SIZE_XLARGE) 
{
    //xlarge screen
}

答案 2 :(得分:0)

在onCreate或任何其他Activity方法中,只需执行以下操作:

Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth(); 
int height = display.getHeight();