Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 动态更改网格布局中单元格的大小和间距_Android_Grid Layout - Fatal编程技术网

Android 动态更改网格布局中单元格的大小和间距

Android 动态更改网格布局中单元格的大小和间距,android,grid-layout,Android,Grid Layout,我在网格布局中有一个文本视图,我想根据文本视图的文本区域更改网格单元的大小。如果单词大小为5,则将相应地计算网格大小。我正在动态添加textview和网格。我使用下面的代码计算文本面积 text[i].setText(String.valueOf(finallist.get(i))); text[i].measure(0, 0); int widths = text[i].getMeasuredWidth(); params.wid

我在网格布局中有一个文本视图,我想根据文本视图的文本区域更改网格单元的大小。如果单词大小为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的布局参数。当我运行这段代码时,我得到如下所示的输出

在这里,我得到了额外的空间,在网格之间,无论文本视图的大小是包装。相反,我希望网格布局能够占据该区域(如果可用)。我想要这样的输出


我希望网格之间的间距相等。我如何动态地实现这一点。我还在这里实现拖放。我是新来的。请帮忙。提前感谢。

使用而不是普通的。将找到交错网格布局管理器的一个很好的示例

一种布局管理器,它以交错的网格形式布局子对象。它支持水平和垂直布局以及反向布局子级的能力。交错网格可能在布局的边缘有间隙。为避免这些间隙,StaggedGridLayoutManager可以独立偏移跨距或在跨距之间移动项目。您可以通过setGapStrategy(int)控制此行为。


希望能有帮助。干杯

您可以使用
GridLayout.Spec
,因为它同时具有
rowSpec
columnSpec
属性。还可以尝试
setAlignmentMode
asit用于容器子容器之间的所有对齐。

我有没有可能使用rowSpec、colspec或span来实现这一点?我正在@aa实现网格布局中的拖放_oo@Anusha,我不敢肯定。我从未使用过拖放网格布局。很抱歉但我很确定你可以,因为它是安卓系统pNo需要使用网格布局和计算文本大小等…东西!!只需使用芯片文本视图,谷歌在其上,它会给你想要的输出。你可以参考这个。我将文本视图放在gridlayout中。当我使用“芯片文本视图”时,网格是否会调整其大小@RadheyI也在网格布局中实现拖放@Radheymake首先制作一个演示项目,移除网格视图,为示例设置芯片文本,并在textview上执行拖放操作,因为您还可以获得文本的点击事件,根据我的意见,无需使用网格视图,因为您只需要文本数据。我们是否可以使用rowspan或column span或row spec@RadheyCan,请给我举个例子@Shahrair-Nazim real为什么不!!这也是你想要的:)