Android GridView中的差异水平间距

时间:2015-03-24 04:11:26

标签: android gridview

我想像下面的图片一样实现用户界面。

enter image description here

我使用GridView布局UI,我只获得了具有相同水平间距的下图所示的结果。

enter image description here

我想知道Android GridView是否支持网格项之间的差异大小?如果有任何解决方案或第三方库,请帮助。谢谢。抱歉我的英语不好。

编辑:

根据sgadde和Gary Bak的答案,我使用以下代码计算并在适配器的getView方法的第二列中添加右边距。

        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
        params.setMargins(0, 0, 20, 0);
        viewHolder.numberTextView.setLayoutParams(params);

我得到了以下结果。

enter image description here

我添加网格项边距的代码缩小了网格项的大小。有什么不对吗?请帮助如何添加间距。谢谢。

3 个答案:

答案 0 :(得分:1)

您应该计算并向第二列中的项目添加右边距,向第三列中的项目添加左边距。您可以在适配器的getView()中执行此操作。

答案 1 :(得分:1)

在你的适配器的getView方法中你有位置,当你到达位置2,6,10等时,你可以在右边添加添加间距。

@Override
public View getView(int position, View convertView, ViewGroup parent) {

答案 2 :(得分:0)

我的回答有点棘手。

首先,您需要减少horizo​​ntalSpacing以调整为方形。

现在,您需要为所有列添加保证金。

有四列,所以

column 1: left margin

column 2: right margin

column 3: left margin

column 4: right margin

这就像你想要的那样。