当前位置: 首页 > news >正文

Jetpack Compose之进度条介绍(ProgressIndicator)

JetPack Compose系列(12)—进度条介绍

Compose自带进度条控件有两个,分别是:CircularProgressIndicator(圆形进度条)和LinearProgressIndicator(线性进度条)。

CircularProgressIndicator(圆形进度条)

圆形进度条,按照惯例,我们先看看其构造函数:

@Composable
fun CircularProgressIndicator(modifier: Modifier = Modifier,color: Color = MaterialTheme.colors.primary,strokeWidth: Dp = ProgressIndicatorDefaults.StrokeWidth
) 
@Composable
fun CircularProgressIndicator(/*@FloatRange(from = 0.0, to = 1.0)*/progress: Float,modifier: Modifier = Modifier,color: Color = MaterialTheme.colors.primary,strokeWidth: Dp = ProgressIndicatorDefaults.StrokeWidth
)

不难看出,两个构造函数唯一区别就是第一个参数的有无。各参数含义如下:

· progress:进度条,设置范围是 0.0到1.0。(这个参数不传递赋值的话,进度条就会一直处于滚动状态)

· modifier :修饰符(这个我们有单独文章介绍)。

· color :进度条指示器颜色(默认是MaterialTheme.colors.primary)。

· strokeWidth:进度条指示器的宽度。

例如如下示例:

@Composable
fun showProgress(){Column {CircularProgressIndicator(progress = 0.5f)Spacer(modifier = Modifier.height(20.dp))CircularProgressIndicator(progress = 0.8f,color = Color.Red)}
}

对应的效果为:

image.png

需要注意的是,这里CircularProgressIndicator(progress = 0.5f)没有指定颜色,所以显示出来的效果为默认颜色。

LinearProgressIndicator(线性进度条)

跟圆形进度条一样,线性进度条也有两个构造函数:

@Composable
fun LinearProgressIndicator(modifier: Modifier = Modifier,color: Color = MaterialTheme.colors.primary,backgroundColor: Color = color.copy(alpha = IndicatorBackgroundOpacity)
)
@Composable
fun LinearProgressIndicator(/*@FloatRange(from = 0.0, to = 1.0)*/progress: Float,modifier: Modifier = Modifier,color: Color = MaterialTheme.colors.primary,backgroundColor: Color = color.copy(alpha = IndicatorBackgroundOpacity)
)

各参数与圆形进度条参数含义一致。多出来的backgroundColor属性指的是指示器背景颜色。(跟CircularProgressIndicator一样,progress这个参数不传递赋值的话,进度条就会一直处于滚动状态)

示例代码如下:

Column {LinearProgressIndicator(color = Color.Red, backgroundColor = Color.Yellow)Spacer(modifier = Modifier.height(20.dp))LinearProgressIndicator(color = Color.Green, backgroundColor = Color.Blue)Spacer(modifier = Modifier.height(20.dp))LinearProgressIndicator(progress = 0.8f,color = Color.Green, backgroundColor = Color.Blue)
}

对应效果为:

ll11111.gif

可以看到前两个LinearProgressIndicator没有传递进度参数,就一直处于滚动状态。其余使用较简单,这里不做赘述。

当然,以上只是自带进度条的简单使用,很难覆盖真实开发过程中的场景,往往我们需要对其进行自定义。而自定义进度条往往是跟Canvas组件一起使用。这个我们在后面会讲到。

http://www.lryc.cn/news/296074.html

相关文章:

  • 【Qt基本功修炼】Qt线程的两种运行模式
  • 三、设计模式相关理论总结
  • 鸿蒙 WiFi 连接 流程
  • golang 创建unix socket http服务端
  • annaconda如何切换当前python环境
  • gtkmm 与 Cambalache 与 Gtk::Builder (新手向)_
  • uniapp小程序端使用计算属性动态绑定style样式踩坑
  • 计算机网络概念、组成、功能和分类
  • MyBatisPlus基础操作之增删改查
  • 视频处理学习笔记1:YUYV422、NV12和h264
  • CTFshow web(命令执行29-36)
  • PyTorch深度学习实战(23)——从零开始实现SSD目标检测
  • 【附代码】NumPy加速库NumExpr(大数据)
  • 4、安全开发-Python-蓝队项目流量攻击分析文件动态监控图片隐写技术
  • MySQL 日志管理
  • Python CSV文件读取和写入
  • 如何使用C#调用LabVIEW算法
  • 调用百度文心AI作画API实现中文-图像跨模态生成
  • JAVA SpringBoot中使用redis的事务
  • docker部署自己的网站wordpress
  • 基于ISO13400 (DoIP) 实现车辆刷写
  • Chrome 沙箱逃逸 -- Plaid CTF 2020 mojo
  • 汇编笔记 01
  • C语言:矩阵中的最小元素
  • 【原创】MQTT开发笔记(四)- 压力测试
  • vue 引入 百度地图API 和 路书
  • 【QT+QGIS跨平台编译】之二十六:【SpatialIndex+Qt跨平台编译】(一套代码、一套框架,跨平台编译)
  • SQL在云计算中的新角色:重新定义数据分析
  • 云安全的基本概念(基本目标与指导方针)
  • 猫头虎分享已解决Bug || docker: Error response from daemon: network not found