我有一个以XML格式创建的GridLayout,但是在运行时添加了子/图标。由于某种原因,单元格被压缩在一起,所以如何在运行时设置单元格之间的空间?
我几乎在按钮的OnLongClickListener中使用grid.addView(icon)
将图标添加到GridLayout。
这就是我得到的:
是的,我正在制作一个发射器。
对此有任何解决方案吗?
谢谢!
答案 0 :(得分:0)
您可以指定16列网格。在第一行(或最后一行)是一个虚拟行(仅包括第一列下面)。
<GridLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:columnCount="16" >
<TextView
android:id="@+id/grid_id_col0"
android:text="@string/grid_col0" />
<TextView
android:id="@+id/camera"
android:layout_column="0"
android:layout_columnSpan="6"
android:layout_row="1"
android:layout_marginLeft="16dp"
android:text="camera" />
<TextView
android:id="@+id/clock"
android:layout_column="10"
android:layout_columnSpan="16"
android:layout_row="1"
android:layout_marginLeft="16dp"
android:text="clock" />
</GridLayout>
在运行时,您可以指定列的宽度。
TextView colTv = (TextView) inRootView.findViewById(R.id.grid_id_col0);
colTv.setWidth(colWidth);
colTv.setVisibility(View.INVISIBLE);
colWidth是从设备宽度除以列数得出的。 如果您留下一些没有任何内容的列,则两个图像之间的空间就在那里。在上面的示例中,第1行的第6列到第9行没有内容。