网格布局管理器

时间:2019-09-04 21:45:56

标签: java android android-recyclerview gridlayoutmanager

我正在开发一个具有两个视图持有人的recyclerView适配器的android应用,当视图类型为旅行者设置跨度计数为1且视图类型为文件夹设置跨度计数为2但此处始终具有1个跨度计数时,我尝试制作一个我使用的Grid布局管理器

    GridLayoutManager gridLayout = new GridLayoutManager(this, 2);
    gridLayout.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
        @Override
        public int getSpanSize(int position) {
            if (adapter.getItemViewType(position) == TYPE_FOLDER)
                return 2;
            else
                return 1;
        }

    });
    recyclerView.setLayoutManager(gridLayout);

这是获取适配器中的视图类型

    @Override
public int getItemViewType(int position) {

    Object obj = data.get(position);
    if (obj instanceof Traveler)
        return TYPE_TRAVELER;
    else if (obj instanceof MainItem)
        return TYPE_FOLDER;

    throw new IllegalArgumentException("Invalid position " + position);
}

以及该应用的屏幕截图

https://i.imgur.com/bPRbCyA.png“ app_screenshot”

0 个答案:

没有答案
相关问题