简介:
ModuleView是一个模快化的View。可以快速搭建一个常用的模块页面,显示不同模块的数据内容。它的难点在于解决ScrollView与RecyclerView的会出现的各种冲突。最容易遇到的就是RecyclerView不显示。
ModuleView拥有自己得ModuleViewAdapter,ModuleViewBean,ModuleViewHolder比较容易理解,因为内部嵌入了RecyclerView。
效果图:
ModuleView使用:
-
构建ModuleViewBean的集合。
-
用ModuleView的实体调用方法,添加标题,显示右侧拓展按钮,显示列表内容。
解析:
- setTitle(title,titleColor)该方法用于显示标题,以及改变标题的颜色,默认的标题颜色是紫色。不改变标题颜色传0即可。
- showRightImg(isShow,listen,imgResource)该方法用于控制是否显示右侧拓展按钮,第一个参数是boolean值,传true则显示。第二个参数是点击事件OnclickListener,多用于跳转。第三个参数属于重载参数,可不传,效果是自己定义右侧拓展按钮的图标。
- showRecyclerView(context,list,itemListener):该方法用于显示列表内容。第二个参数是ModuleViewBeand的集合,第三个参数是列表Item的点击事件。该方法会通过list的LayoutNum参数判断显示的布局。0=LinnerLayout布局;1=GridLayout布局。
4.关于ModuleViewAdapter。默认了两个常量,LINEARLAYOUT和GRIDLAYOUT,用于控制显示线性布局或者网格布局。可以在这里拓展更多的布局,通过ViewType接收返回每一个Item的LayoutNum,在OnCreateViewHolder中判断返回对应的Holder。 - 如何解决RecycerView嵌套ScrollView不显示的问题。首先可以直接通过将ScrollView 的框高设置为match-parent,然后增加fillViewport="true"即可将RecyclerView显示出来。不过会遇到一个问题,当嵌套多个ModuleView即套入多个RecyclerView,只会显示第一个。这里找到的解决方法是,选用LayoutManager的时候,使用自定义的FullLayoutManager,用于解决与ScrollView的冲突。
- 如果出现滑动冲突,关掉RecyclerView的滑动即可。
附件:
组件ModuleView下载地址
附件无法下载,请复制打开连接,在浏览器重新执行即可!!
网友评论