如何在景观中获得可用的高度?

时间:2011-10-12 08:19:30

标签: android height screen

我有一个带有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的值。它是标准尺寸吗?

无论使用何种设备,获得可用高度的最佳解决方案是什么?

2 个答案:

答案 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)。这将是可用的宽度和高度,而不计算状态栏。