自定义组件——ModuleView

简介:

  ModuleView是一个模快化的View。可以快速搭建一个常用的模块页面,显示不同模块的数据内容。它的难点在于解决ScrollView与RecyclerView的会出现的各种冲突。最容易遇到的就是RecyclerView不显示。   ModuleView拥有自己得ModuleViewAdapter,ModuleViewBean,ModuleViewHolder比较容易理解,因为内部嵌入了RecyclerView。

效果图:

ModuleView

使用:

  1. 构建ModuleViewBean的集合。
  1. 用ModuleView的实体调用方法,添加标题,显示右侧拓展按钮,显示列表内容。

解析:

  1. setTitle(title,titleColor)该方法用于显示标题,以及改变标题的颜色,默认的标题颜色是紫色。不改变标题颜色传0即可。
  2. showRightImg(isShow,listen,imgResource)该方法用于控制是否显示右侧拓展按钮,第一个参数是boolean值,传true则显示。第二个参数是点击事件OnclickListener,多用于跳转。第三个参数属于重载参数,可不传,效果是自己定义右侧拓展按钮的图标。
  3. showRecyclerView(context,list,itemListener):该方法用于显示列表内容。第二个参数是ModuleViewBeand的集合,第三个参数是列表Item的点击事件。该方法会通过list的LayoutNum参数判断显示的布局。0=LinnerLayout布局;1=GridLayout布局。 4.关于ModuleViewAdapter。默认了两个常量,LINEARLAYOUT和GRIDLAYOUT,用于控制显示线性布局或者网格布局。可以在这里拓展更多的布局,通过ViewType接收返回每一个Item的LayoutNum,在OnCreateViewHolder中判断返回对应的Holder。
  4. 如何解决RecycerView嵌套ScrollView不显示的问题。首先可以直接通过将ScrollView 的框高设置为match-parent,然后增加fillViewport="true"即可将RecyclerView显示出来。不过会遇到一个问题,当嵌套多个ModuleView即套入多个RecyclerView,只会显示第一个。这里找到的解决方法是,选用LayoutManager的时候,使用自定义的FullLayoutManager,用于解决与ScrollView的冲突。
  5. 如果出现滑动冲突,关掉RecyclerView的滑动即可。

附件:

组件ModuleView下载地址 附件无法下载,请复制打开连接,在浏览器重新执行即可!!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏向治洪

android 优化之布局优化

布局优化的思路很简单,尽量减少布局文件的层级,看过系统源码的都知道,Android view绘制都是逐层绘制的,所以布局的层级少了,decodeview的时候绘...

23060
来自专栏从零开始学自动化测试

Appium+python自动化28-name定位

前言 appium1.5以下老的版本是可以通过name定位的,新版本从1.5以后都不支持name定位了 一、 name定位报错 1.最新版appium V...

36550
来自专栏vue学习

20、分类详情页之数据渲染

然后复制一系列就是我们左侧栏的各个标题了,记住这里的每个标题的id要和首页各个分类名的id相对应。

24020
来自专栏漫漫全栈路

ASP.NET MVC学习笔记03视图

早在ASP.NET MVC 3就引入了Razor视图引擎( Razor view engine)。Razor视图模板文件使用.cshtml文件扩展名,并提供了...

32730
来自专栏无原型不设计

【Mockplus教程】复制/粘贴/克隆

1. 复制和粘贴 选中组件后,鼠标右击,在弹出菜单中选择“复制”,然后在需要粘贴的位置鼠标右击,菜单中选择“粘贴”即可。 也可以选中组件后使用快捷键Ctr...

32870
来自专栏张戈的专栏

为iFrame添加动态载入效果,提高用户体验

中国博客联盟-成员展示导航一直都是直勾勾的加载,并且未加载完成之前还会强行占据一大片空白区域,体验很不友好!昨天在制作展示导航 WordPress 插件时,把这...

30540
来自专栏更流畅、简洁的软件开发方式

页面回发后,让页面自动滚动到指定位置的一种简单的方法

最近某客户做实施,顺便完善一下程序。突然找到了一个老问题的解决方法。 就是当用户按一个按钮后,希望回发后的页面滚到一个指定的位置,而不是页面的开头部分。以...

37870
来自专栏企鹅号快讯

wordpress导航菜单详解及改造

对于wordpress主题来说 wp的菜单是必不可少的 可以用于制作导航栏 也可以做侧边栏、页脚导航等等 只要熟练掌握 就能利用wp菜单做成想要的东西 话不多说...

55870
来自专栏Python

linux每日命令(11):cat命令

cat命令的用途是连接文件或标准输入并打印。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。

10030
来自专栏编程坑太多

「小程序JAVA实战」 小程序手写属于自己的第一个demo(六)

11420

扫码关注云+社区

领取腾讯云代金券