如何根据宽度以编程方式在Android网格中设置高度?

时间:2014-09-13 08:08:40

标签: android layoutparams

我有gridview,其中包含2列。宽度设置为填充可用空间。 我需要根据宽度将高度设置为特定大小,因为在每个屏幕中宽度尺寸都不同,我不能将xml中的高度设置为常量。我需要设置比例,所以高度应该是1.5 *宽度。

由于

1 个答案:

答案 0 :(得分:2)

您可以设置高度,但是您想要获得宽度优先。

你告诉两列网格,所以要了解手机宽度的一半

Display display = getWindowManager().getDefaultDisplay();
int imgWidth = display.getWidth() / 2;
int imgHeight = (int)(imgWidth * 1.5f);

你得到的高度。现在你可以设置你的网格视图宽度和高度

LayoutParams lp = HERE_YOUR_VIEW.getLayoutParams();
lp.width = imgWidth;
lp.height = imgHeight ;
HERE_YOUR_VIEW.setLayoutParams(lp);