前言
在网络加载的过程中,我们为了防止用户点击并提升用户体验的时候,使用到了进度条对话框
。那么在Kotlin
中关于进度条对话框
又有哪些优势呢?今天就让我们来学习下。
今天涉及知识点:
- kotlin 特性
- anko库依赖
- 进度条对话框的使用
- 需要注意的问题
一. kotlin 特性
传统的Java
代码在使用时,有的地方特备臃肿。在进度条对话框
的使用方面,kotlin
依然拥有独到的简化代码优势。但在使用过程中需要结合anko
库。
二. anko库依赖
为了简化kotlin关于
进度条对话框代码的优化,我们需要引入
anko库。 在
app_module的
build.gradle`中添加如下依赖:
dependencies {
//anko库关于界面跳转简化的依赖
implementation 'org.jetbrains.anko:anko-commons:0.10.8'
//其他代码省略
//......
}
为了方便依赖的统一管理,我们也可以在project
对应的build.gradle
中声明版本常量,类似如下:
buildscript {
//声明anko库版本常量
ext.anko_version='0.10.8'
//其他代码省略
//......
}
anko
库的最新版本可查看anko官网
接着在app_module
的build.gradle
中添加依赖,类似如下:
dependencies {
//anko库关于界面跳转简化的依赖
implementation "org.jetbrains.anko:anko-commons:$anko_version"
//其他代码省略
//......
}
需要注意的是,此时库依赖添加时必须用双引号,而不能用单引号
三. 进度条对话框的使用
进度条对话框分为 水平
和 圆圈
两种,下面来一 一讲解。
3.1 水平进度条
示例代码如下:
var dialogOne:ProgressDialog = progressDialog("我是正文","我是title")
// dialogOne.setCancelable(false) //禁用返回键
// dialogOne.setCanceledOnTouchOutside(false) //禁止外部点击消失
dialogOne.progress = 10 //设置进度条,默认总进度为100
dialogOne.show()
对于水平进度框而言,我们可以通过 dialogOne.progress = xxx
来更新进度
3.2 圆圈进度条
示例代码如下:
var dialogTwo:ProgressDialog = indeterminateProgressDialog("我是正文","我是title")
// dialogTwo.setCancelable(false) //禁用返回键
// dialogTwo.setCanceledOnTouchOutside(false) //禁止外部点击消失
dialogTwo.show()
效果图如下:
效果图.gif
四. 需要注意的问题
需要注意的是,progressDialog(message:String,title:String)
和 indeterminateProgressDialog(message:String,title:String)
在anko
库中已属于过时api
,还有由于使用的是系统的dialog
,难免会出现九个手机上九种样式,很不利于界面效果的统一美观性,所以此节知识只做了解,我并不建议大家使用。
ok,今天的内容就介绍到这里了,谢谢大家。
网友评论