Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java android中高度参数的怪异行为_Java_Android_Android Layout - Fatal编程技术网

Java android中高度参数的怪异行为

Java android中高度参数的怪异行为,java,android,android-layout,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

下面是我在布局中所做的

  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);
}
我编写了代码,使每个文本视图都直接位于第一个文本视图的下方。现在,根据代码,减去相对布局高度后的剩余高度应等于所有文本视图的高度,以便它们填满空白空间


然而,对于w/10或宽度,这很好,但对于高度,它总是占用比空白空间更多的空间。我不明白发生了什么事。如何调整高度,使其仅填充空间

您可以尝试使用相同的重量对所有高度进行加权:

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

我发现了这个问题,我忽略了标题栏也占据屏幕一定高度的事实。

您考虑过在XML文件中设置视图和布局吗?另外,对于您的问题,请尝试为视图添加权重。例如,如果您有两个按钮,并且希望它们以相等的长度并排排列。加上两个0.50的重量,你会让它们填满几乎所有设备的所有空间,这取决于你给它们的高度。我实际上在android中添加了144个文本视图。就像填字游戏一样。我想让这个纵横填字游戏填充剩下的路径。每个文本视图的高度是相等的,根据我的计算,但看起来h=800是错误的?检查编辑的版本