android中高度参数的奇怪行为

时间:2012-06-26 17:38:25

标签: java android android-layout

以下是我在布局中所做的事情

  h = getWindowManager().getDefaultDisplay().getHeight(); 


Relative Layout = 60 dp = 90 using .getHeight()
Relative Layout = wrap content

Relative layout align bottom = 60 dp = 90

现在我的宽度和高度变量显示高度为800.

我正在做以下事情

h = h - 180 // 

for (int i = 0 ; i < 10 ; i++)
        {
            TextView tv = new TextView(this);
            LayoutParams params  = new RelativeLayout.LayoutParams(w/10, h/10);

            wordsLayout.addView(tv,params);
}

我已经制作了代码,以便每个textView直接位于第一个代码之下。现在根据代码,减去相对布局高度后的剩余高度应该是所有textviews的高度,以便它们填满空白区域。

然而,这适用于w / 10或宽度,但对于高度,它总是比空的空间占用更多的空间。我无法理解发生了什么。如何调整高度,使其仅填充空间

2 个答案:

答案 0 :(得分:0)

你可以尝试用相同的重量加权所有这些:

LayoutParams params  = new RelativeLayout.LayoutParams(w/10, h/10,(float) 1.0);

答案 1 :(得分:0)

我发现了问题,我错过了title bar占据屏幕高度的事实。