BaseLibrary

根模块,包含一些常用工具类与基类
GitHub仓库地址

引入

gradle

allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}

implementation 'com.github.DL-ZhangTeng:BaseLibrary:2.5.0'
或排除图片库
implementation("com.github.DL-ZhangTeng:BaseLibrary:2.5.0") {
    exclude group: "com.github.bumptech.glide", module: "glide"
}

部分工具功能(安装配套插件快速创建模板文件BaseLibraryTemplatePlugin-2.5.0.jar)

九宫格图片工具包(com/zhangteng/base/adapter、com/zhangteng/base/widget)

工具包名/类名描述
PublishAdapter发布九宫格选择图片视频文件;已实现拖曳;已实现的默认图片视频逻辑,需要配合ImagePicker使用;请配合 [com.zhangteng.base.widget.GridSpacingItemDecoration][com.zhangteng.base.widget.LinearSpacingItemDecoration]调整间距
NineGridViewAdapter九宫格图片展示
NineGridViewClickAdapter实现点击事件的九宫格图片预览
ImagePreviewAdapter大图预览适配器
ImagePreviewActivity大图预览页面
NineGridView九宫格view(使用方式参照demo中NineImageActivity)
NineGridImageView九宫格ImageView

多级展开树形列表(com/zhangteng/base/tree、com/zhangteng/base/adapter)

工具包名/类名描述
TreeRecyclerViewAdapter树结构的列表适配器(使用方式参照demo中TreeActivity)
Node树数据节点,实际数据bean自动通过注解方式转换为node
TreeHelper树数据与注解处理类
TreeNodeChildren子节点注解
TreeNodeId节点id注解
TreeNodeLabel节点name注解
TreeNodeParent父节点注解

顶部导航/选项卡控件(com/zhangteng/base/widget/MyTabLayout)

MyTabLayout属性名描述:可参考原生控件TabLayout
tabMyGravityGRAVITY_FILL充满屏幕、GRAVITY_CENTER居中
tabMyModeMODE_SCROLLABLE可滚动tab、MODE_FIXED固定tab
tabMyTypeface未被选中tab文本样式
tabMySelectedTypeface被选中tab文本样式
tabMyPaddingStart居左Padding
tabMyTextColor未选中文本颜色
tabMyPaddingEnd居右Padding
tabMySelectedTextColor被选中文本颜色
tabMyMaxWidth最大宽度
tabMyBackground背景色
tabMyTextAppearance文本样式
tabMyContentStarttabs距TabLayout开始位置的偏移量,只有tabMyMode
tabMyMinWidth最小宽度
tabMyPaddingBottom距底部Padding
tabMyPaddingTop距顶部Padding
tabMyPaddingPadding
tabMyTextIconGapText与Icon之间的margin
tabMyViewNumbertab数量
tabMySelectedTextSize被选中文字大小
tabMyTextSize未选中文字大小
tabMyTabViewSelfTabView自定义时宽度自适应
tabMyIndicatorWidth指示器宽度(设置宽度后指示器Margin失效)
tabMyIndicatorHeight指示器高度
tabMyIndicatorMarginLeft指示器居左Margin
tabMyIndicatorMarginTop指示器居顶部Margin
tabMyIndicatorMarginRight指示器居右Margin
tabMyIndicatorMarginBottom指示器居底部Margin
tabMyIndicatorSelfFit指示器宽度自适应文本宽度(默认false)
tabMyIndicatorMarginBottomSelfFit指示器自适应文本底部的距离(tabMyIndicatorSelfFit为true时生效,默认false)
tabMyIndicatorBottomLayer指示器置于文本底部(默认false)
tabMyIndicatorColor指示器颜色
tabMyIndicatorRoundRadius指示器圆角
tabMyIndicatorDrawable图片指示器,支持drawable与mipmap
tabMyIndicatorVerticalOffsets指示器垂直滚动,String数组对应每一个tab的垂直偏移量(0.0:不进行垂直偏移;1.0:垂直偏移tab高度-指示器高度-垂直Margin)
tabMyIndicatorHorizontalOffsets指示器水平滚动,String数组对应每一个tab的水平偏移量(0.0:不进行水平偏移;1.0:水平移tab宽度-指示器宽度-水平Margin)

混淆

-keep public class com.zhangteng.**.*{ *; }

历史版本

版本更新更新时间
v2.5.0Fragment使用Activity的mStateViewHelper2023/5/11 at 11:15
v2.4.0showDataSuccess重定义2023/5/2 at 21:42
v2.3.2九宫格图片预览增加缩略图预览;增加图片加载进度回调2023/3/29 at 14:23
v2.3.1修复ShapedImageView无法预览&无法提示自定义属性2023/1/18 at 1:46
v2.3.0指示器全程滑动从源position到目标position;指示器垂直滚动;指示器支持图片;TabView文本默认单行末尾省略显2022/12/11 at 1:46
v2.2.0List模板增加VH泛型,与之前版本不兼容2022/12/5 at 22:57
v2.1.0增加自定义LayoutManager2022/11/26 at 14:57
v2.0.2沉浸式最新版本2022/11/25 at 0:03
v2.0.1增加FlowRadioGroup2022/10/26 at 10:41
v2.0.0增加SuperTextWatcher用于支持EditText对@的支持,独立出aop、mvp、mvvm2022/9/14 at 22:18
v1.5.0分离出Utils库2022/9/2 at 20:28
v1.4.0LoadViewHelper更名StateViewHelper2022/8/11 at 11:49
v1.3.8DataStore工具类2022/8/5 at 16:44
v1.3.7增加网络检测注解&权限申请注解&防重复点击注解2022/7/22 at 15:08
v1.3.6部分工具类更新优化(主要是ActivityHelper.kt)&mvvm库中异常处理使用com.zhangteng.utils.IException2022/7/4 at 11:50
v1.3.5自动设置BaseViewModel2022/6/25 at 10:12
v1.3.4mvvm框架增加list基类&mvvm基类方法执行顺序优化&mvvm基类删除layoutId方法,使用默认方式设置布局文件2022/6/23 at 17:33
v1.3.3aop打印方法耗时时间2022/6/16 at 15:38
v1.3.2Uri转文件绝对路径工具类2022/5/16 at 22:20
v1.3.1树形结构adapter重构2022/3/16 at 10:45
v1.3.0工具类&mvp&mvvp拆分2022/1/20 at 23:27
v1.2.9顶部悬停api调整2022/1/13 at 9:35
v1.2.8增加加载中动画gif支持2022/1/11 at 11:43
v1.2.7适配器长按事件bug2022/1/4 at 21:01
v1.2.6动画重命名2022/1/4 at 17:4
v1.2.5基类弹窗修改2021/12/30 at 10:34
v1.2.4Mvvm增加Repository层2021/12/28 at 11:47
v1.2.3DefaultViewHolder未设置adapter bug2021/12/18 at 10:10
v1.2.2自定义Tab时bug修复2021/12/14 at 21:58
v1.2.1增加线程池工具2021/11/24 at 12:34
v1.2.0部分工具类转为扩展函数异常处理2021/11/11 at 19:12
v1.1.20增加九宫格图片展示2021/9/5 at 16:51
v1.1.19星型进度条(使用固定星型)、树形结构demo,父节点不需要赋值(自动处理)2021/8/31 at 14:44
v1.1.17TabLayout 滑动ViewPager切换时tab字体错乱问题2021/8/26 at 17:48
v1.1.16增加加载中动画bug2021/8/25 at 17:40
v1.1.15MyTabLayout中tab可自定义2021/8/24 at 23:01
v1.1.13增加沉浸式主题2021/8/24 at 17:58
v1.1.12增加加载中动画类型,并支持自定义2021/8/23 at 13:01
v1.1.11增加list基类2021/8/17 at 23:11
v1.1.101、加载中动画增加同步注解,不允许多线程;2、加载中动画及空页面处理,并加入base类2021/8/15 at 11:20
v1.1.9增加popupwindow动画2021/8/13 at 23:31
v1.1.8LoadViewHelper showProgressDialog bug2021/8/5 at 22:07
v1.1.7重命名LoadViewHelper方法2021/7/15 at 16:00
v1.1.6fragment增加mvp基类2021/7/3 at 10:37
v1.1.5BaseLibrary的类全部open2021/6/17 at 22:35
v1.1.4mvp模式presenter增加Model泛型&model增加imodel2021/5/17 at 18:38
v1.1.3Mvp模板及demo、弹窗宽度由内容宽度决定2021/4/19 at 16:11
v1.1.2BaseAdapter优化增加默认ViewHolder2020/12/2 at 14:02
v1.1.1BaseHttpEntity增加请求中动画自动加载2020/11/2 at 16:35
v1.1.0迁移到androidx2020/7/22 at 11:03
v1.0.5BaseHttpEntity增加请求中动画自动加载2020/11/2 at 16:35
v1.0.4TabLayout指示器添加距底部距离自适应属性2020/6/24 at 17:31
v1.0.3更新几个工具类2020/6/19 at 11:46
v1.0.2指示器自适应时只有mTabIndicatorBottomLayer为true才会自适应距底部高度2020/6/12 at 15:14
v1.0.1无数据工具bug、增加圆角控件、文件工具类-视频判断bug2020/6/12 at 11:56
v1.0.0初版2020/6/4 at 18:05

赞赏

如果您喜欢BaseLibrary,或感觉BaseLibrary帮助到了您,可以点右上角“Star”支持一下,您的支持就是我的动力,谢谢

联系我

邮箱:763263311@qq.com/ztxiaoran@foxmail.com

License

Copyright © [2020] [Swing]

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the “Software”), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐