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 包相关的依赖,框架里已集成,可以删除
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"

配置主题的原因:

  1. 设置状态栏透明,添加全屏模式支持
  2. 修改 StatusBar 的颜色
  3. 修改 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      
		}
	}

效果展示
在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值