GridLayout仅通过调整最后一列和行的大小来匹配父级(Android Studio)

时间:2015-02-18 07:57:15

标签: android android-studio grid-layout android-gridlayout

我有4列5行的GridLayout。如果为wrap_contentlayout_width设置为layout_height,则所有单元格的大小应相同。但是,当我将其设置为match_parent时,除了最后一行和列中的那些单元格之外的所有单元格保持相同的大小,最后一行的高度显着增加以填充垂直空间的其余部分,最后一列增加宽度填充水平空间的其余部分。也就是说,大多数细胞根本没有调整大小,第5行和第4列变得非常扭曲。

wrap_contententer image description here

match_parententer image description here

如何让GridLayout在匹配父级时保持所有单元格的大小相同?

2 个答案:

答案 0 :(得分:1)

如果您有静态行数和列数,则可以通过这种方式覆盖单元格视图的方法onMeasure(如果要填充,例如整个显示):

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
  int width = getResources().getDisplayMetrics().widthPixels / COLUMN_COUNT;
  int height = getResources().getDisplayMetrics().heightPixels / ROW_COUNT;
  setMeasuredDimension(width, height);
}

答案 1 :(得分:0)

将所有单元格设置为column_weight = x,其中x是相同的值(1)