# 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。

2、[Banner](https://github.com/youth5201314/banner)
只做一个可以自定义的轮播容器,不侵入UI ———— Banner 2.0

3、[WaveLineView](https://github.com/Jay-Goo/WaveLineView)
一款内存友好的录音漂亮的波浪动画

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 的封装,使得在项目中使用起来更加简单、方便、快捷

还有个支持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;

11、[Android-PickerView](https://github.com/Bigkoo/Android-PickerView)
这是一款仿iOS的PickerView控件,有时间选择器和选项选择器

12、[smartTable](https://github.com/huangyanbin/smartTable)
android自动生成表格框架

13、[CustomActivityOnCrash](https://github.com/Ereza/CustomActivityOnCrash)
一个可以自定义异常捕捉的库,但要关闭其他第三方异常捕捉的(第三方的有时候会捕捉不到);

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)

18、[logger](https://github.com/orhanobut/logger)
简单,漂亮,功能强大的Android记录器
19、[hawk](https://github.com/orhanobut/hawk)
一款简单好用的键值对库;
20、[SwitchButton](https://github.com/zcweng/SwitchButton)

21、[HandWrite](https://github.com/hzl512/HandWrite)
手写板,可以作为名片签名使用

22、[IDCardCamera](https://gitee.com/common-source-code/IDCardCamera.git)
gtihub版本中只有Android 自定义身份证相机,新增的内容添加了名片的识别;

23、[ijkplayer](https://gitee.com/common-source-code/ijkplayer.git)
一款可以播放.m3u8的播放器;
24、[RecyclerPinnedHeader](https://github.com/tuacy/RecyclerPinnedHeader)
RecyclerView分组悬浮列表

25、[仿简书IOS版默认列表加载效果](https://github.com/githappygo/CXRecyclerView)
[Android手把手教你仿简书(iOS版)列表默认加载效果](https://www.jianshu.com/p/ad12f8b31d6a) 一种思路;

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.联系人索引。

28、[SwipeDelMenuLayout](https://github.com/mcxtzhang/SwipeDelMenuLayout)

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

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)