我想知道设备屏幕宽度是否大于高度 像HTC chacha一样,它的屏幕宽度是480,高度是320
我用这段代码来确定它
Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
if(display.getWidth() > display.getHeight())
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
else
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
设备实际屏幕尺寸为480w x 320h 当我使用这段代码时,我得到320w x 480h
答案 0 :(得分:4)
此代码将返回宽度(w)&屏幕高度(h)。
DisplayMetrics dMetrics = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(dMetrics);
float density = dMetrics.density;
int w = Math.round(dMetrics.widthPixels / density);
int h = Math.round(dMetrics.heightPixels / density);
活动是活动的实例,您希望获得屏幕大小。
您必须记住:当您的设备处于横向时,w&gt; H。当它处于纵向时w <小时。
所以从宽度和宽度您可以检测设备的高度是朝哪个方向。
答案 1 :(得分:4)
DisplayMetrics dimension= new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dimension);
int w = dimension.widthPixels;
int h = dimension.heightPixels;
if(h>w){
//"portrait"
}
else{
//"landscape"
}
答案 2 :(得分:2)
方向定义哪一侧是宽度或高度。如果你有480x320,那是因为当你拨打display.getWidth()
时,你已经处于横向模式。我不知道这个设备,但是当你以肖像方式握住它时,默认方向可能是风景...
如果您真的需要知道何时有这样的设备,您可以查看当前的方向:
getResources().getConfiguration().orientation
并将其与OrientationEventListener的结果进行比较,{{3}}使用传感器来计算以度为单位的真实物理方向。