我想通过窗口的宽度设置GridLayout的列数。
但是,这类代码在onCreate()函数中不起作用。
GridLayout gLayout = (GridLayout)findViewById(R.id.a_grid_layout);
gLayout.setColumnCount(4);
最佳答案
如果要基于GridLayout的宽度设置列数,则必须重写onMeasure方法。它提供widthSpec和heightSpec作为参数,您可以使用MeasureSpec.getSize()从中获取实际的宽度和高度(以像素为单位)。从那里,根据刚找到的GridLayout的宽度计算要显示的列数,然后使用setColumnCount使其显示该列数。