com.alibaba.android.vlayout.DelegateAdapter Java Examples

The following examples show how to use com.alibaba.android.vlayout.DelegateAdapter. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: PractiseFragment.java    From YCAudioPlayer with Apache License 2.0 6 votes vote down vote up
private void initVLayout() {
    mAdapters = new LinkedList<>();
    //初始化
    //创建VirtualLayoutManager对象
    layoutManager = new VirtualLayoutManager(activity);
    recyclerView.setLayoutManager(layoutManager);

    //设置回收复用池大小,(如果一屏内相同类型的 View 个数比较多,需要设置一个合适的大小,防止来回滚动时重新创建 View)
    RecyclerView.RecycledViewPool viewPool = new RecyclerView.RecycledViewPool();
    recyclerView.setRecycledViewPool(viewPool);
    viewPool.setMaxRecycledViews(0, 20);

    //设置适配器
    delegateAdapter = new DelegateAdapter(layoutManager, true);
    recyclerView.setAdapter(delegateAdapter);

    //自定义各种不同适配器
    initAllTypeView();
    //设置适配器
    //delegateAdapter.setAdapters(mAdapters);
}
 
Example #2
Source File: DebugActivity.java    From vlayout with MIT License 6 votes vote down vote up
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_activity);
    RecyclerView recyclerView = (RecyclerView)findViewById(R.id.main_view);
    VirtualLayoutManager virtualLayoutManager = new VirtualLayoutManager(this);
    DelegateAdapter delegateAdapter = new DelegateAdapter(virtualLayoutManager);
    List<Adapter> adapterList = new ArrayList<>();
    adapterList.add(new SubAdapter(new LinearLayoutHelper(20), 20));
    adapterList.add(new SubAdapter(new StickyLayoutHelper(true), 1));
    adapterList.add(new SubAdapter(new LinearLayoutHelper(20), 20));
    adapterList.add(new SubAdapter(new GridLayoutHelper(4), 80));
    // adapterList.add(new SubAdapter(new FixLayoutHelper(0, 0), 1));
    adapterList.add(new SubAdapter(new FixLayoutHelper(TOP_RIGHT, 0, 0), 1));
    delegateAdapter.addAdapters(adapterList);
    recyclerView.setLayoutManager(virtualLayoutManager);
    recyclerView.setAdapter(delegateAdapter);
}
 
Example #3
Source File: LayoutActivity.java    From YCRefreshView with Apache License 2.0 6 votes vote down vote up
private void initVLayout() {
    mAdapters = new LinkedList<>();
    //初始化
    //创建VirtualLayoutManager对象
    layoutManager = new VirtualLayoutManager(this);
    recyclerView.setLayoutManager(layoutManager);

    //设置回收复用池大小,(如果一屏内相同类型的 View 个数比较多,需要设置一个合适的大小,防止来回滚动时重新创建 View)
    RecyclerView.RecycledViewPool viewPool = new RecyclerView.RecycledViewPool();
    recyclerView.setRecycledViewPool(viewPool);
    viewPool.setMaxRecycledViews(0, 20);

    //设置适配器
    delegateAdapter = new DelegateAdapter(layoutManager, true);
    recyclerView.setAdapter(delegateAdapter);

    //自定义各种不同适配器
    initAllTypeView();
    //设置适配器
    delegateAdapter.setAdapters(mAdapters);
}
 
Example #4
Source File: VLayoutFragment.java    From AndroidSamples with Apache License 2.0 6 votes vote down vote up
private void initView() {
    layoutManager = new VirtualLayoutManager(mContext);
    mainView.setLayoutManager(layoutManager);
    // 实现类似padding的效果
    mainView.addItemDecoration(new RecyclerView.ItemDecoration() {
        @Override
        public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
            super.getItemOffsets(outRect, view, parent, state);
            outRect.set(0, 0, 0, 15);
        }
    });
    DelegateAdapter delegateAdapter = new DelegateAdapter(layoutManager, true);
    mainView.setAdapter(delegateAdapter);
    adapters = new LinkedList<>();

    initBanner();
    initSticky();
    initGrid();
    initLinear();
    delegateAdapter.setAdapters(adapters);
}