我在网格布局中有一个textview,我想根据文本视图的文本区域更改网格单元格的大小。如果字大小为5,则将相应地计算网格大小。我动态地添加textview和网格。我使用以下代码进行此文本区域计算,
text[i].setText(String.valueOf(finallist.get(i)));
text[i].measure(0, 0);
int widths = text[i].getMeasuredWidth();
params.width=widths;
text[i].setLayoutParams(params);
text[i].setTextSize(10);
其中'params'是textview的布局参数。当我运行此代码时,我得到如下所示的输出。
无论文本视图大小被包裹,我都会在网格之间获得额外的空格。相反,我希望网格布局占用该区域(如果可用)。我希望输出像这样,
我希望网格之间的间距相等。我怎么能动态地实现这一点。我也在这里实施拖放操作。我是新来的。请帮忙。提前谢谢。
答案 0 :(得分:0)
使用StaggeredGridLayoutManager代替普通GridLayout。将找到Staggered Grid布局管理器的一个很好的示例here。
布局管理器,以交错的网格形式布置子项。它支持水平和水平垂直布局以及反向布局儿童的能力。交错网格可能在布局边缘有间隙。为了避免这些间隙,StaggeredGridLayoutManager可以独立偏移跨距或在跨距之间移动项目。您可以通过 setGapStrategy(int)。
来控制此行为
希望它有所帮助。干杯!