我有一个带有imageview的布局。此imageview应具有4/3的比率。在纵向模式下,我获得屏幕的宽度,然后计算高度并设置imageView尺寸。
int[] tailles = new int[2];
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int widthScreen = dm.widthPixels;
tailles[0] = widthScreen;
tailles[1] = (tailles[0]*3)/4;
这部分效果很好。
在横向模式下,我需要根据可用高度设置imageView宽度。所以我需要让屏幕的高度减去状态/通知栏。
我在this question中看到了48px的值。它是标准尺寸吗?
无论使用何种设备,获得可用高度的最佳解决方案是什么?
答案 0 :(得分:2)
Display d = ((Activity) mContext).getWindowManager()
.getDefaultDisplay();
int h = d.getHeight();
int w = d.getWidth();
in portrait h> with and in landscape w> ħ
答案 1 :(得分:0)
如果您正在创建一个Activity,那么您必须拥有某种布局。获取它的根组件,并检索它的大小(getWidth,getHeight)。这将是可用的宽度和高度,而不计算状态栏。