# UseWidgets **Repository Path**: common-source-code/UseWidgets ## Basic Information - **Project Name**: UseWidgets - **Description**: 经常使用的一些组件收藏: 一、Android原生 二、Flutter - **Primary Language**: Android - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-04-12 - **Last Updated**: 2021-08-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # UseWidgets #### 介绍 经常使用的一些组件收藏: Android原生、Android图表、Flutter ------ #### 一:Android原生 - #### 原生组件 1、[Multilevel tree list for Android](https://github.com/zhangke3016/MultilevelTreeList). >快速实现Android多级树形列表,这个库是在鸿洋多级树形列表demo中修改而来。 >**解决的问题**: > 1. 支持ID为int类型和String类型。 > 2. 支持多级复选框选中,使用只需一行代码。 > 3. 支持动态更新数据并保持原有展开/关闭状态。 > 4. 支持动态移除数据并保持原有展开/关闭状态。 > 5. 支持ListView、RecyclerView。 ![MultilevelTreeList](./images/1.gif) 2、[Banner](https://github.com/youth5201314/banner) ​ 只做一个可以自定义的轮播容器,不侵入UI ———— Banner 2.0 ​ ![效果](./images/2.gif) 3、[WaveLineView](https://github.com/Jay-Goo/WaveLineView) ​ 一款内存友好的录音漂亮的波浪动画 ​ ![](./images/3.gif) 4、[AndroidUtilCode](https://github.com/Blankj/AndroidUtilCode) ​ 开发中经常用到的工具库 5、[soter](https://github.com/Tencent/soter) ​ TENCENT SOTER是腾讯于2015年开始制定的生物认证平台与标准,通过与厂商合作,目前已经在一百余款、数亿部Android设备上得到支持,并且这个数字还在快速增长。 ​ 接入TENCENT SOTER,你可以在不获取用户指纹图案的前提下,在Android设备上实现可信的指纹认证,获得与微信指纹支付一致的安全快捷认证体验。 6、[mars](https://github.com/Tencent/mars) ​ Mars 是微信官方的跨平台跨业务的终端通信基础组件。 7、[ZoomLayout](https://github.com/guangmomo/ZoomLayout.git) ​ 缩放的布局组件,蛮好用的; 8、[AndroidAutoSize](https://github.com/JessYanCoding/AndroidAutoSize) ​ 今日头条屏幕适配方案终极版,一个极低成本的 Android 屏幕适配方案; 初始化容易出问题,这个得自己琢磨怎么处理了,单位用MM比较好,设计参数符合实际要求就行了; 9、[EasyPopup](https://github.com/zyyoona7/EasyPopup) ​ 对 PopupWindow 的封装,使得在项目中使用起来更加简单、方便、快捷 ![](./images/4.gif) 还有个支持androidx的:[EasyPopupX](https://github.com/dengzhenli/EasyPopupX)不兼容support; 10、[PDF的阅读组件](https://github.com/voghDev/PdfViewPager) ​ 用的时候(1.0.6,其他版本未知)需要依赖[subsampling-scale-image-view](https://github.com/davemorrissey/subsampling-scale-image-view),作者有更新支持androidx; ![](./images/5.gif) 11、[Android-PickerView](https://github.com/Bigkoo/Android-PickerView) ​ 这是一款仿iOS的PickerView控件,有时间选择器和选项选择器 ![](./images/6.gif) 12、[smartTable](https://github.com/huangyanbin/smartTable) ​ android自动生成表格框架 ![](./images/7.gif) 13、[CustomActivityOnCrash](https://github.com/Ereza/CustomActivityOnCrash) ​ 一个可以自定义异常捕捉的库,但要关闭其他第三方异常捕捉的(第三方的有时候会捕捉不到); ![](./images/8.png) 14、[MagicIndicator](https://github.com/hackware1993/MagicIndicator) ​ 一个常用的指示器; ​ 15、[WaveLoadingView](https://github.com/tangqi92/WaveLoadingView) ​ 提供逼真的波浪加载效果的Android库 16、[item绑定库:binding-collection-adapter](https://github.com/evant/binding-collection-adapter.git) 使用新的Android数据绑定框架将集合绑定到listviews和recyclerviews的简便方法 [早期翻译的文章](https://www.jianshu.com/p/8e6c7ecedf74) 17、[自定义未读消息提示](https://github.com/mengxn/DotView) ![](./images/11.png) 18、[logger](https://github.com/orhanobut/logger) 简单,漂亮,功能强大的Android记录器 19、[hawk](https://github.com/orhanobut/hawk) 一款简单好用的键值对库; 20、[SwitchButton](https://github.com/zcweng/SwitchButton) ![](./images/12.gif) 21、[HandWrite](https://github.com/hzl512/HandWrite) ​ 手写板,可以作为名片签名使用 ![](./images/12.png) 22、[IDCardCamera](https://gitee.com/common-source-code/IDCardCamera.git) gtihub版本中只有Android 自定义身份证相机,新增的内容添加了名片的识别; ![](images/13.jpg) 23、[ijkplayer](https://gitee.com/common-source-code/ijkplayer.git) 一款可以播放.m3u8的播放器; 24、[RecyclerPinnedHeader](https://github.com/tuacy/RecyclerPinnedHeader) RecyclerView分组悬浮列表 ![](images/13.gif) 25、[仿简书IOS版默认列表加载效果](https://github.com/githappygo/CXRecyclerView) [Android手把手教你仿简书(iOS版)列表默认加载效果](https://www.jianshu.com/p/ad12f8b31d6a) 一种思路; ![](images/15.webp) 26、[Recyclerview列表倒计时不断刷新:使用 ScheduledExecutorService + View 集合](https://github.com/zhanzengyu/RecyclerView/tree/feature/refresh_4) [博客说明](https://www.cnblogs.com/nesger/p/11715796.html) 27、[IndexRecyclerView](https://github.com/jiang111/IndexRecyclerView) 1.首字母悬浮在顶部。 2.侧滑删除联系人。 3.联系人索引。 ![](images/17.gif) 28、[SwipeDelMenuLayout](https://github.com/mcxtzhang/SwipeDelMenuLayout) ![](images/18.gif) 29、[Hardcoder](https://github.com/Tencent/Hardcoder) **手机硬件层面的性能优化,Hardcoder 是一套 Android APP 与系统间的通信解决方案,突破了 APP 只能调用系统标准 API,无法直接调用系统底层硬件资源的问题,让 Android APP 和系统能实时通信。APP 能充分调度系统资源如 CPU 频率,大小核,GPU 频率等来提升 APP 性能,系统能够从 APP 侧获取更多信息以便更合理提供各项系统资源。同时,对于 Android 缺乏标准接口实现的功能,APP 和系统也可以通过该框架实现机型适配和功能拓展。** Hardcoder 在微信的启动、发送视频、小程序启动等重度场景平均优化效果达 10%-30%;在手机 QQ 的启动、打开聊天界面、发送图片等场景的平均优化效果达 10%-50%。该框架目前已接入 OPPO、vivo、华为、小米、三星、魅族等主流手机厂商,覆盖 4.6 亿+ 设备量。 30、 - #### 原生(混合h5)图表 1、[MPAndroidChart](https://github.com/PhilJay/MPAndroidChart.git) 很强的图表库(但很多实现效果得自己去修改源码),附录一些其他人修改的源码实现功能: [MPAndroidChart-Newline](https://github.com/NanBox/MPAndroidChart-Newline.git) 2、[highcharts-android](https://github.com/highcharts/highcharts-android.git) Highcharts Android是Android版HighchartsJS的一个令人愉快的包装器。 最流行的、健壮的和经过战斗测试的JavaScript图表库现在可以通过我们的新Java包装器在Android上使用。以最小的努力获得华丽的多点触控图表。 3、[AAChartModel](https://github.com/AAChartModel/AAChartCore.git) IOS与安卓都有,大佬是做IOS开发的,估计后面有安卓大佬怼了一遍吧,在底部**源代码**哪里查看java与kotlin版的,需要一定的时间了解源码,安卓版本没有IOS的全,建议用mpchart; 4、[RadarChart](https://gitee.com/mirrors/RadarChart) RadarView 是一个可以自由定制、旋转交互的Android雷达图Lib ![](images/14.gif) 5、 - #### 保活 1、[keeplive](https://github.com/fanqieVip/keeplive) 这些只是“黑科技”的保活方式,重点还是要跳转到系统自带的手机管家里面添加后台运行; 2、[Cactus](https://github.com/gyf-dev/Cactus) 不是很好用,要规避一些东西; 3、**最佳的方案参考这个[Android 后台运行白名单,优雅实现保活](https://www.jianshu.com/p/32b7241124a2)与keeplive组合为佳** - #### 框架 1、[Android-skin-support](https://github.com/ximsfei/Android-skin-support) ​ Android-skin-support: 一款 Android 换肤框架, 极低的学习成本, 极好的用户体验. ------ #### 二:Flutter 1、网络请求库: 1.1 [dio](https://github.com/flutterchina/dio/blob/master/README-ZH.md) ​ dio是一个强大的Dart Http请求库,支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载、超时、自定义适配器等 1.2 [okhttp_kit](https://github.com/v7lin/okhttp_kit) ​ dart版okhttp3 2、[《Flutter实战》开源电子书项目](https://github.com/flutterchina/flutter-in-action) 3、[FlutterBoost](https://github.com/alibaba/flutter_boost) ​ Flutter-Native混合解决方案。 FlutterBoost是一个Flutter插件,它可以轻松地为现有原生应用程序提供Flutter混合集成方案。FlutterBoost的理念是将Flutter像Webview那样来使用。在现有应用程序中同时管理Native页面和Flutter页面并非易事。 FlutterBoost帮你处理页面的映射和跳转,你只需关心页面的名字和参数即可(通常可以是URL)。 100:牛人与组织、网站 [Sky24n](https://github.com/Sky24n) [Flutter中国开源项目](https://github.com/flutterchina/) [dandroid](https://www.dandroid.cn/) ------ #### 来自其他 [android-open-project](https://github.com/Trinea/android-open-project)