网格布局中的最后一列得到拉伸

时间:2015-02-16 15:46:30

标签: android grid-layout

enter image description here

我想平均拉伸网格布局中的所有列,我该怎么做?

我正在为每个细胞使用这个参数

LayoutParams param2 =new LayoutParams(); 
       param2.height = LayoutParams.WRAP_CONTENT;
        param2.width = ViewGroup.LayoutParams.WRAP_CONTENT;            
        param2.setGravity(Gravity.CENTER);          
        param2.columnSpec = GridLayout.spec(i,FILL);
        param2.rowSpec = GridLayout.spec(rowCount,FILL);
        param2.setGravity(Gravity.FILL);  

2 个答案:

答案 0 :(得分:1)

使用嵌套的LinearLayouts构建您自己的GridLayout,以便您可以根据需要自定义它,或者只需为您添加的每个单元格设置权重,但您需要将最小sdk设置为21

答案 1 :(得分:1)

动态设置孩子的宽度<​​/ p>

    GridLayout.LayoutParams params = (GridLayout.LayoutParams) child.getLayoutParams();
 params.width = (parent.getWidth()/parent.getColumnCount()) -params.rightMargin - params.leftMargin;
 child.setLayoutParams(params);