ZyFrame 框架依赖说明
Posted 左郁
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ZyFrame 框架依赖说明相关的知识,希望对你有一定的参考价值。
✏️ 丨 框架更新说明:
2022.06.12更新:
- ZyFrame库已拆分,新项目快速开发,可以直接使用ZyFrame,
- 如果有自己的网络库,只需要用到组件管理、UI、蓝牙、二维码扫描,请集成ZyBase,
- 如果有自己的基础库,想尝试便捷式协程请求,请集成ZyHttp,新增Java调用支持
框架最新版本请移步GitHub
全库:https://github.com/Sunnyfor/ZyFrame
基础库:https://github.com/Sunnyfor/ZyBase
网络库:https://github.com/Sunnyfor/ZyHttp
✏️ 丨 框架依赖步骤:
1. 添加 ZyFrame 框架依赖:应用级 build.gradle 中
implementation 'com.github.Sunnyfor:ZyFrame:1.5.5'
androidx 包相关的依赖,框架里已集成,可以删除
2. 添加 jitpack 支持:项目级 build.gradle 中
maven url "https://jitpack.io"
注意:
用新版的小伙伴需要配置一下jcenter(),里面用到了时间选择器,后期会抽取出来
ZyFrame 3.0以后的版本,升级了Gradle7.3.3,maven仓需要在setting.gradle中配置
3. 添加主题样式:AndroidManifest.xml 中
android:theme="@style/ZyTheme"
配置主题的原因:
- 设置状态栏透明,添加全屏模式支持
- 修改 StatusBar 的颜色
- 修改 ToolBar 弹出位置、字体颜色、字体大小
<style name="ZyTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:statusBarColor">@color/color_transparent</item>
<item name="actionOverflowMenuStyle">@style/OverflowMenuStyle</item>
<item name="actionMenuTextColor">@color/textColorPrimary</item>
<item name="android:actionMenuTextAppearance">@style/ZyMenuTextStyle</item>
</style>
4. 初始化 ZyFrameStore: Application 中
ZyFrameStore.init(this)
5. 到目前为止,框架就集成完毕了。
✏️ 丨 ZyHttp请求调用展示:
/**
* Desc 测试合同类
* Author ZY
* Date 2022/6/12
*/
class SayHiContract
interface IStatus : IBaseView
fun onLoadHello(data: UserBean)
class Presenter(iView: IBaseView) : BasePresenter<IBaseView>(iView)
/**
* 请求方式支持:get/post/put/delete/getJson/postJson/putJson/deleteJson
* @param url 网络请求地址
* @param params 接收Map的参数集合,无参直接传hashMapOf()
*/
fun onLoadHello(uid: String)
launch(Dispatchers.Main)
val httpResultBean = object : HttpResultBean<BaseBean<UserBean>>()
ZyHttp.get(UrlConstant.HELLO_URL, hashMapOf(Pair("toUid", uid)), httpResultBean)
if (httpResultBean.bean?.isSuccess() == true)
if (view is IStatus)
(view as IStatus).onLoadHello(httpResultBean.bean?.data ?: return@launch)
✏️ 丨 ZyBase功能使用介绍(不定期补充):
1. 配置相关颜色: color.xml 中
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="color_theme">#0BA0EF</color>
<color name="colorPrimary">@color/color_white</color><!--ToolBar颜色-->
<color name="textColorPrimary">@color/font_black</color><!--ToolBar图标、字体默认颜色-->
<color name="colorPrimaryDark">@color/color_white</color><!--状态栏颜色-->
<color name="colorAccent">@color/font_black</color><!--按钮选中颜色-->
<color name="buttonTint">@color/color_theme</color><!--按钮默认颜色-->
</resources>
2. 配置 ZyConfig 清单:Application 中
class MyApplication : Application()
override fun onCreate()
super.onCreate()
// 初始化应用管理类
ZyFrameStore.init(this)
// 设置 StatusBar 模式:true 为黑字; false 为白字
ZyConfig.statusBarIsDark = true
// 配置存储权限
ZyConfig.authorities = "com.sunny.rtc.provider"
1)设置 StatusBar 模式:true 为黑字; false 为白字
ZyConfig.statusBarIsDark = true
效果图:
ZyConfig.statusBarIsDark = false
效果图:
2)配置存储权限
ZyConfig.authorities = "com.sunny.rtc.provider"
3. 调用系统相机相册方式
采用的Camerax
/**
* 调用相机
*/
IntentManager.startCameraActivity
it.uri?.let uri ->
// 返回系统的uri,直接展示的话Glide,上传的话框架支持uri
/**
* 调用相册
*/
// 最多可选择的数量
val mMaxSize = 1
// 选择格式:图片/视频
val bundle = GalleryFlagsBuild().isCrop(true).setMaxSize(mMaxSize).setFileType(GallerySelectActivity.File_TYPE_IMAGE)
IntentManager.startGallerySelectActivity(bundle)
it[0].uri?.let uri ->
// 返回系统的uri,直接展示的话Glide,上传的话框架支持uri
效果展示
以上是关于ZyFrame 框架依赖说明的主要内容,如果未能解决你的问题,请参考以下文章