具有不同宽度列的Android网格视图

时间:2016-09-30 08:34:32

标签: android

我正在尝试使用两列创建网格视图,但问题是我想随机更改每列的宽度。

我尝试使用交错网格视图创建它,但它只更改列的高度,我需要更改列的宽度。

我在下面添加想要制作的图像:

enter image description here

2 个答案:

答案 0 :(得分:2)

请对setSpan使用GridLayoutManager方法。在开始时使用列数为4,然后根据需要为GridView中的每个视图提供跨度。

GridLayoutManager gridLayoutManager = new GridLayoutManager(activity, 4);

gridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup()
{
    @Override
    public int getSpanSize(int position)
    {
        if (position == 0)
        {
          return 2;
        }
        else if(position == 1)
        {
          return 2;
        }
        else if(position == 2)
        {
        return 3;
        }
        else if(position == 3)
        {
        return 1;
        }                       
    }
 });

答案 1 :(得分:-1)

使用两个或更多同步列表视图会做。通过'synchronized',我的意思是当你水平滑动时,两个列表视图都相应地移动。

您可以查看此PinterestListView个回购以供参考。

enter image description here

唯一的区别是您可以更改列表视图的方向,从垂直方向更改为水平方向。

如果您不希望支持水平滑动/滚动,请使用嵌入垂直布局的两个线性布局,就是它!