使用前请查看注意事项,3.x及以后版本仅支持AndroidX,可切换分支查看早期代码
最低支持api21
minSdkVersion 21
targetSdkVersion 31
开发环境
AndroidStudio 2020.3.1
Gradle 7.0.2
-
quicklib
依赖QMUI
,需要在主项目中配置QMUI
的styles
,参考app
中的theme.xml
,主题请继承QuickBaseTheme
-
需要注意quicklib中的QuickInit类,需要的话请在Application中初始化(一般用不到)。
-
请在module的
build.gradle#android
中添加如下代码:compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }
-
BaseActivity
集成了QMUITopBarLayout
,默认集成沉浸式状态栏(状态栏背景与TopBar背景相同),如需使用直接使用mNavBar
调用相应方法即可,如果不需要使用请手动调用mNavBar.setVisibility(View.GONE);
隐藏。 -
状态栏背景可能会与状态栏字体图标冲突,如有冲突请手动修改状态栏字体图标背景色,可参考
app
下面的SampleBaseActivity
// 设置状态栏黑色字体图标 QMUIStatusBarHelper.setStatusBarLightMode(mContext); // 设置状态栏白色字体图标 QMUIStatusBarHelper.setStatusBarDarkMode(mContext);
-
需要在
Application
中添加如下代码:ARouter.init(this); Utils.init(this);
-
Base中封装了
viewBinding
/dataBinding
相关代码,需在项目的build.gradle
中启用viewBinding
/dataBinding
,两者可选其一,也可一起混合使用(非dataBinding
页面使用viewBinding
代替findViewById
或Butterknife
),请参考Sample中的相关代码,请不要使用setContentView
添加布局,应通过实现Base中的getViewBinding
方法添加布局。buildFeatures { viewBinding true dataBinding true }
因支付宝SDK改用aar打包,所以使用时需要添加如下代码
-
在您项目根目录的
build.gradle
中,添加下面的内容,将libs
目录作为依赖仓库allprojects { repositories { // 添加下面的内容 flatDir { dirs '../libs' } // ... jcenter() 等其他仓库 } }
-
请将支付宝的aar文件放入您项目根目录的
libs
目录中,然后在启动模块(ex:app Module)添加支付宝aar依赖dependencies { // ... api (name: 'alipaysdk-15.8.03.210428205839', ext: 'aar') }
暂时没有发版,可以下载源码使用~
目录文件 | 解释 |
---|---|
app | Demo |
sampleCommonLibrary | Demo公共组件 |
imageloader | 图片加载库(基于Glide) |
libs | 公共jar/aar包 |
paylib | 支付组件库 |
quicklib | 基础组件库 |
widget | View组件库 |
4.2.0开始支持自动传递混淆配置,如有问题请提Issues或单独添加需要添加的策略~
Copyright 2018 zhangqin
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.