版权声明:本文为博主原创文章,转载请声明出处 https://blog.csdn.net/qq_16666847/article/details/79137413
电商布局总会是千奇百怪的,But ,V-layout 开源意味着,这些都不是难事
今天产品给了一份首页布局,看起来很麻烦,然后就想到了V-Layout
但是在使用之后发现一个问题:
VirtualLayoutManager manager = new VirtualLayoutManager(getContext());
mRecyclerView.setLayoutManager(manager);
RecyclerView.RecycledViewPool pool = new RecyclerView.RecycledViewPool();
pool.setMaxRecycledViews(0, 10);
mRecyclerView.setRecycledViewPool(pool);
DelegateAdapter delegateAdapter = new DelegateAdapter(manager, true);
mRecyclerView.setAdapter(delegateAdapter);
List<DelegateAdapter.Adapter> adapters = new LinkedList<>();
adapters.add(new VLayoutAdapter(getContext(), new LinearLayoutHelper(), 1));
adapters.add(new VLayoutAdapter(getContext(), new GridLayoutHelper(2), 2));
如上代码是没有问题的,但是如果你将这两句代码替换一下:
adapters.add(new VLayoutAdapter1(getContext(), new LinearLayoutHelper(), 1));
adapters.add(new VLayoutAdapter2(getContext(), new GridLayoutHelper(2), 2));
替换为如上代码,也就是采用两个不同的Adapter ,添加到DelegateAdapter中,这就会产生卡顿
看样子只能使用同一个Adapter ,然后进行ItemType 进行区分布局效果
但是但是。。。。可以通过继承的方法,可以解决不同布局的问题