1684038599

所属分类:其他
开发工具:Others
文件大小:4018KB
下载次数:0
上传日期:2023-10-08 10:07:39
上 传 者rainjack
说明:  RecyclerView嵌套ViewPager嵌套RecyclerView
(this is open source code no need pay money you can use it by free.)

文件列表:
code (0, 2023-05-14)
code\NestedRecyclerView (0, 2023-05-14)
code\NestedRecyclerView\app (0, 2023-05-14)
code\NestedRecyclerView\app\build.gradle (1342, 2023-05-14)
code\NestedRecyclerView\app\src (0, 2023-05-14)
code\NestedRecyclerView\app\src\main (0, 2023-05-14)
code\NestedRecyclerView\app\src\main\java (0, 2023-05-14)
code\NestedRecyclerView\app\src\main\java\com (0, 2023-05-14)
code\NestedRecyclerView\app\src\main\java\com\yu (0, 2023-05-14)
code\NestedRecyclerView\app\src\main\java\com\yu\nested (0, 2023-05-14)
code\NestedRecyclerView\app\src\main\java\com\yu\nested\recyclerview (0, 2023-05-14)
code\NestedRecyclerView\app\src\main\java\com\yu\nested\recyclerview\demo (0, 2023-05-14)
code\NestedRecyclerView\app\src\main\java\com\yu\nested\recyclerview\demo\PullRefreshFragment.java (5191, 2023-05-14)
code\NestedRecyclerView\app\src\main\java\com\yu\nested\recyclerview\demo\NormalFragment.java (5796, 2023-05-14)
code\NestedRecyclerView\app\src\main\java\com\yu\nested\recyclerview\demo\AdTabFragment.java (2093, 2023-05-14)
code\NestedRecyclerView\app\src\main\java\com\yu\nested\recyclerview\demo\OutTabFragment.java (1670, 2023-05-14)
code\NestedRecyclerView\app\src\main\java\com\yu\nested\recyclerview\demo\RecyclerNestedRecyclerView.java (2106, 2023-05-14)
code\NestedRecyclerView\app\src\main\java\com\yu\nested\recyclerview\MainActivity.java (1977, 2023-05-14)
code\NestedRecyclerView\app\src\main\java\com\yu\nested\recyclerview\base (0, 2023-05-14)
code\NestedRecyclerView\app\src\main\java\com\yu\nested\recyclerview\base\SingleRecyclerAdapter.java (4261, 2023-05-14)
code\NestedRecyclerView\app\src\main\java\com\yu\nested\recyclerview\base\RecyclerViewPager.java (1366, 2023-05-14)
code\NestedRecyclerView\app\src\main\java\com\yu\nested\recyclerview\base\BaseNestedFragment.java (7793, 2023-05-14)
code\NestedRecyclerView\app\src\main\java\com\yu\nested\recyclerview\base\RelatedTabLayout.java (757, 2023-05-14)
code\NestedRecyclerView\app\src\main\java\com\yu\nested\recyclerview\base\LoadMoreAdapter.java (8126, 2023-05-14)
code\NestedRecyclerView\app\src\main\AndroidManifest.xml (720, 2023-05-14)
code\NestedRecyclerView\app\src\main\res (0, 2023-05-14)
code\NestedRecyclerView\app\src\main\res\mipmap-xxhdpi (0, 2023-05-14)
code\NestedRecyclerView\app\src\main\res\mipmap-xxhdpi\ic_launcher_round.png (11873, 2023-05-14)
code\NestedRecyclerView\app\src\main\res\mipmap-xxhdpi\ic_launcher.png (7909, 2023-05-14)
code\NestedRecyclerView\app\src\main\res\layout (0, 2023-05-14)
code\NestedRecyclerView\app\src\main\res\layout\fragment_out_tab.xml (1379, 2023-05-14)
code\NestedRecyclerView\app\src\main\res\layout\activity_main.xml (1972, 2023-05-14)
code\NestedRecyclerView\app\src\main\res\layout\fragment_pull_refresh.xml (1528, 2023-05-14)
code\NestedRecyclerView\app\src\main\res\layout\view_footer.xml (831, 2023-05-14)
code\NestedRecyclerView\app\src\main\res\layout\item_test.xml (603, 2023-05-14)
code\NestedRecyclerView\app\src\main\res\layout\fragment_normal.xml (1085, 2023-05-14)
code\NestedRecyclerView\app\src\main\res\layout\fragment_ad_tab.xml (2393, 2023-05-14)
code\NestedRecyclerView\app\src\main\res\layout\fragment_test.xml (390, 2023-05-14)
code\NestedRecyclerView\app\src\main\res\layout\view_tab.xml (684, 2023-05-14)
code\NestedRecyclerView\app\src\main\res\mipmap-hdpi (0, 2023-05-14)
... ...

RecyclerView嵌套ViewPager嵌套RecyclerView ==== NestedRecyclerView ## 功能描述 1. 支持嵌套ViewPager嵌套RecyclerView,理论上也支持直接嵌套RecyclerView,不过感觉没什么意义,就不再提供demo 2. 一个NestedRecyclerView类处理所有滚动逻辑,不需要对ViewPager内的RecyclerView做特殊处理 3. 支持第三方的下拉刷新库,例如SmartRefreshLayout 4. 提供RecyclerView内的tab栏吸顶【适合简单的吸顶,以及不可操作动画吸顶,如京东app】 以及 外部传入吸顶tab栏【适合需要动态改变吸顶tab高度的场景,例如吸顶广告,可操作的吸顶栏动画,或者 吸顶栏位置有特殊要求等】 两种方式实现吸顶,具体见demo,暂不提供动画相关demo,以后看情况添加 5. 提供底部视图缓存demo,避免滑出ViewPager时卡顿的问题 ## 带广告的tab示例 ![demo.gif](https://upload-images.jianshu.io/upload_images/10639439-6c201deae8678aee.gif?imageMogr2/auto-orient/strip) ## 使用方法 ### 新增依赖 1. 在项目的根目录gradle新增仓库如下: ``` allprojects { repositories { google() jcenter() maven { url "https://jitpack.io" } } } ``` 2. 使用module依赖,新增依赖: ``` implementation 'com.github.liyuzero:NestedRecyclerView:2.0' ``` ### 具体调用(详情见demo) 1. 布局,当做普通RecyclerView进行布局即可 ``` ``` 1. 初始化 ``` final NestedRecyclerView mNestedRecyclerView = view.findViewById(R.id.recyclerView); //recyclerView正常初始化 mNestedRecyclerView.setLayoutManager(new LinearLayoutManager(mNestedRecyclerView.getContext())); //底部tab栏 和 ViewPager BottomTabView tabView = new BottomTabView(getContext()); //设置底部Tab View大小,必须!!!!!!!!!!!, 该高度一般等于NestedRecyclerView大小 mNestedRecyclerView.post(new Runnable() { @Override public void run() { mBottomTabView.setViewHeight(mNestedRecyclerView.getMeasuredHeight()); } }); mNestedRecyclerView.setAdapter(new RecyclerView.Adapter() { if(viewType == 1) { //一般是最后一个view是底部tab栏以及ViewPager return new RecyclerView.ViewHolder(mBottomTabView) { }; } else { TextView titleView = new TextView(parent.getContext()); .... } }); //初始化,返回值为当前 ViewPager内部 展示的 RecyclerView mNestedRecyclerView.setChildRecyclerViewHelper(new NestedRecyclerView.ChildRecyclerViewHelper() { @Override public RecyclerView getCurRecyclerView() { return mBottomTabView.getCurRecyclerView(); } //提供外部自定义吸顶栏时需要实现的接口,方便实现各种自定义效果,例如广告展示,触摸动画等等 public View getInnerTabView() { return null; } public View getOutTabView() { return null; } }); //监听器 mNestedRecyclerView.addOnActionListener(new NestedRecyclerView.OnActionListener() { @Override public void onTabMounting(boolean isMounting) { //吸顶状态监听 if(isMounting) { ToastUtil.INSTANCE.showToast(mNestedRecyclerView.getContext(), "吸顶了"); } } @Override public void onTabViewFirstShow() { //tab栏首次展示出来,一般用作打点 } }); ```

近期下载者

相关文件


收藏者