文件名称:PageGridView-ViewPager GridView组合控件实现网格布局分页效果.zip
文件大小:263KB
文件格式:ZIP
更新时间:2022-10-13 13:08:03
开源项目
PageGridViewViewPager GridView组合控件实现网格布局分页效果大多数app首页界面一般貌似可以滑动切换上下页的网格布局,这种效果用得挺多,可惜Android原生是没有这样的控件的。在工作中,我也用到过几次。但每次实现都是按ctrl A C V,代码写得也不优雅,就是再次重新复制粘贴,也避免不了看上几眼,修改修改,特别不爽快。每次吐槽的同时在想,下次我要再用到这种效果,我就将这些代码关进小黑屋。拒绝再写重复代码,虽然大多数只是按ctrl A C V。这次,我终于要将自己吐槽时的想法付之行动的。再写之前,为了避免重复造*。在网上搜了好多次,嗯,没有意外,我还是没有发现到惊喜。那就开始行动了。这种效果用ViewPager GridView实现,那我就叫它PageGridView吧(其实名字我也想了好久)有用的话,star一下也是不错的!!!PageGridView 特点可*定制Item布局无需写adapter适配器,直接调用setData()方法填充数据只需实体类继承ItemModel即可可显示本地图、网络图、资源ID图标,由开发者实现动态计算PageGridView高度,不需要在布局里面写固定高度可重复setData()方法刷新数据PageGridView自定义属性属性名说明默认值pageSize每页大小8numColumns列数4isShowIndicator是否显示指示器trueselectedIndicator选中指示点资源IDR.mipmap.ic_dot_selectedunSelectedIndicator未选中指示点资源IDR.mipmap.ic_dot_normalindicatorGravity指示器位置centerindicatorPaddingLeft指示器左内边距0pxindicatorPaddingRight指示器右内边距0pxindicatorPaddingTop指示器上内边距0pxindicatorPaddingBottom指示器下内边距0pxindicatorPadding指示器内边距0pxindicatorBackground指示器背景颜色Color.WHITEitemViewItem布局R.layout.item_view约定规则Item布局必须给定具体高度,默认itemView布局的高度为@dimen/item_height=80dpItem布局 TextView的id 为R.id.tv_item_nameItem布局 ImageView的id 为R.id.iv_item_iconItem默认点击效果R.drawable.selector_item_view_bgItem点击颜色值:R.color.item_view_selected_colorItem背景颜色值:R.color.item_view_normal_color一行四列效果图两行四列效果图自定义Item布局效果图PageGridView使用Gradle 依赖库implementation 'com.wihaohao:PageGridView:1.0.1'默认布局一般默认参数即可满足需求
【文件预览】:
PageGridView-master
----gradlew.bat(2KB)
----gradlew(5KB)
----gradle.properties(726B)
----img()
--------image2.jpg(66KB)
--------image1.jpg(48KB)
----tabviewlyaout()
--------proguard-rules.pro(751B)
--------src()
--------.gitignore(7B)
--------build.gradle(867B)
----slidemenu()
--------proguard-rules.pro(751B)
--------src()
--------.gitignore(7B)
--------build.gradle(863B)
----pagegridview()
--------proguard-rules.pro(751B)
--------src()
--------.gitignore(7B)
--------build.gradle(1KB)
----app()
--------proguard-rules.pro(751B)
--------src()
--------.gitignore(7B)
--------build.gradle(996B)
----gradle()
--------wrapper()
----.idea()
--------markdown-doclet.xml(307B)
--------caches()
--------codeStyles()
--------markdown-navigator()
--------gradle.xml(798B)
--------runConfigurations.xml(564B)
--------misc.xml(2KB)
--------vcs.xml(167B)
--------kotlinc.xml(216B)
--------markdown-navigator.xml(5KB)
----.gitignore(137B)
----README.md(7KB)
----settings.gradle(64B)
----build.gradle(1005B)