一. 自己造轮子

参考文章:自定义View-PageController,自己搭建控件,并做成静态库,上传到Github上。

二. 毛玻璃效果

Blurkit-Github地址

最新的使用方式参考Github地址

1. 添加依赖

Add BlurKit to the dependencies block of the app level build.gradle:

1
2
3
dependencies {
implementation 'io.alterac.blurkit:blurkit:1.1.0'
}

2. 简便的用法

① Add a BlurLayout to your XML layout just like any other view.

1
2
3
4
<io.alterac.blurkit.BlurLayout
android:id="@+id/blurLayout"
android:layout_width="150dp"
android:layout_height="150dp"/>

② In the Main_Activity.java you need to override the onStart() and onStop() methods to include the BlurLayout functionality.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
BlurLayout blurLayout;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
blurLayout = findViewById(R.id.blurLayout);
}

@Override
protected void onStart() {
super.onStart();
blurLayout.startBlur();
}

@Override
protected void onStop() {
blurLayout.pauseBlur();
super.onStop();
}

3. 参考

毛玻璃效果在Android的实现

三. 状态栏工具类

StatusBarUtil-Github地址

最新的使用方式参考Github地址

1. 添加依赖

Add the dependencies to your build.gradle file, StatusBarUtil is avaiable in JCenter:

1
compile 'com.jaeger.statusbarutil:library:1.5.1'

2. 简便的用法

1
2
3
setContentView(R.layout.main_activity);
...
StatusBarUtil.setColor(MainActivity.this, mColor);

四. 沉浸式状态栏

ImmersionBar-Github地址

最新的使用方式参考Github地址

1. 添加依赖

1
2
3
4
5
6
// 基础依赖包,必须要依赖
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
// fragment快速实现(可选)
implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
// kotlin扩展(可选)
implementation 'com.gyf.immersionbar:immersionbar-ktx:3.0.0'

2. 简便的用法

关于全面屏
在manifest加入如下配置,四选其一,或者都写

1
2
3
4
5
6
7
8
9
10
11
12
① 在manifest的Application节点下加入

<meta-data
android:name="android.max_aspect"
android:value="2.4" />
② 在manifest的Application节点中加入

android:resizeableActivity="true"
③ 在manifest的Application节点中加入

android:maxAspectRatio="2.4"
④ 升级targetSdkVersion为25以上版本

关于刘海屏
在manifest的Application节点下加入,vivo和oppo没有找到相关配置信息

1
2
3
4
5
6
7
8
9
<!--适配华为(huawei)刘海屏-->
<meta-data
android:name="android.notch_support"
android:value="true"/>
<!--适配小米(xiaomi)刘海屏-->
<meta-data
android:name="notch.config"
android:value="portrait|landscape" />

具体使用

1
ImmersionBar.with(this).init();

3. 参考

android实现沉浸式状态栏

android 全面屏、刘海屏等沉浸式状态栏

五. sqlite3工具类

LitePal-Github地址

参考文章:

Android笔记:LitePal库的更新,DataSupport被弃用问题

Android数据库高手秘籍(一)——SQLite命令

Android数据库高手秘籍(二)——创建表和LitePal的基本用法

Android数据库高手秘籍(三)——使用LitePal升级表

Android数据库高手秘籍(四)——使用LitePal建立表关联

Android数据库高手秘籍(五)——LitePal的存储操作

Android数据库高手秘籍(六)——LitePal的修改和删除操作

Android数据库高手秘籍(七)——体验LitePal的查询艺术

Android数据库高手秘籍(八)——使用LitePal的聚合函数

六. Android-Debug-Database

参考文章:

调试手机中数据库的福音:Android-Debug-Database

七. 动画库-lottie

lottie-Github地址

参考文章:

introducing-lottie

Android 项目列表

八. 圆角-ImageView

NiceImageView-Github地址

可以设置圆角的ImageView第三方库。

九. X2C

X2C-Github地址

提高Xml布局文件的加载速度。

十. EventBus

EventBus-Github地址

EventBus是一款针对Android优化的发布/订阅(publish/subscribe)事件总线。主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息。简化了应用程序内各组件间、组件与后台线程间的通信。优点是开销小,代码更优雅,以及将发送者和接收者解耦。比如请求网络,等网络返回时通过Handler或Broadcast通知UI,两个Fragment之间需要通过Listener通信,这些需求都可以通过EventBus实现。

十一. FasterDialog

FasterDialog-Github地址

FasterDialog是一个完全解耦弹窗逻辑与布局样式的三方框架,即便你的众多项目有不同的布局样式需求,只要引入FasterDialog就可以让你的所有项目都用同一份代码描述业务逻辑。

参考:【FasterDialog】可能是Android上最好用的Dialog框架

十二. Easypermissions

Easypermissions-Github地址

一个处理权限的库

参考:一个处理权限的库-easypermissions

关于权限,参考:如何解决java.lang.SecurityException:Permission Denial:在Android中读取com.android.providers.media.MediaProvider,同时从图库中获取图片?

关于权限的官方文档:请求应用权限

十三. OKHttp

OKHttp-Github地址

一个极其强大的网络请求库。

参考文章:Android网络-OkHttp基本使用

十四. Gson

Gson-Github地址

参考文章:Android网络-解析JSON数据

十五.Glide

Glide

一个好用的图片加载的库。