【发布时间】:2011-09-29 04:00:23
【问题描述】:
我想得到一个安卓屏幕的高度,如果屏幕设置了一定的高度,我该怎么做呢?
【问题讨论】:
标签: android
我想得到一个安卓屏幕的高度,如果屏幕设置了一定的高度,我该怎么做呢?
【问题讨论】:
标签: android
从活动内部:
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
}
【讨论】:
如果您想要以像素为单位的显示尺寸,您可以使用以下代码:
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);
【讨论】:
if(android.os.Build.VERSION.SDK_INT >= 13) 来确定您应该使用新代码还是弃用代码。
在您的 onCreate 或任何其他 Activity 方法中只需执行以下操作:
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();
【讨论】: