Jetpack Compose 进度条

确定指示符

确定性指示符可准确反映操作完成的程度。请使用 [LinearProgressIndicator] 或 [CircularProgressIndicator] 可组合项,并为 progress 形参传递值。

以下代码段提供了一个相对详细的示例。当用户按下该按钮时,应用既显示进度指示器,又启动一个逐渐增大 progress 值的协程。这会导致进度指示器依次向上迭代。

ts 复制代码
@Composable
private fun example1() {
  val currentProgress = remember { mutableStateOf(0.5f) }
  Column {
      customTitle(title = "确定指示符 效果")
      LinearProgressIndicator(
          progress = { currentProgress.value },
          modifier = Modifier.fillMaxWidth(),
      )
  }
}
ts 复制代码
@Composable
private fun example2() {
  val currentProgress = remember { mutableStateOf(0.5f) }
  Column {
      customTitle(title = "确定指示符(圆形) 效果")
      CircularProgressIndicator(
          progress = { currentProgress.value },
          modifier = Modifier.size(64.dp).padding(start = 15.dp),
          color = MaterialTheme.colorScheme.secondary,
          trackColor = MaterialTheme.colorScheme.surfaceVariant,
      )
  }
}

不确定指示符

不确定性指示器并不反映操作已经完成的距离,而是使用运动向用户表明处理正在进行中,但不指定任何完成程度。

如需创建不确定的进度指示器,请使用 LinearProgressIndicatorCircularProgressIndicator 可组合项,但不要传入 progress 的值。以下示例演示了如何通过按下按钮来切换不确定性指示器。

  • CircularProgressIndicator 的效果
ts 复制代码
@Composable
private fun example3() {
  Column {
      customTitle(title = "不确定指示符 效果")
      CircularProgressIndicator(
          modifier = Modifier.width(64.dp),
          color = MaterialTheme.colorScheme.secondary,
          trackColor = MaterialTheme.colorScheme.surfaceVariant,
      )
  }
}
  • LinearProgressIndicator 的效果
ts 复制代码
@Composable
private fun example4() {
  Column {
      customTitle(title = "不确定指示符(线条) 效果")
      LinearProgressIndicator(
          color = MaterialTheme.colorScheme.secondary,
          trackColor = MaterialTheme.colorScheme.surfaceVariant,
          modifier = Modifier.fillMaxWidth(),
      )
  }
}

上一篇 Jetpack Compose 对话框

相关推荐
alexhilton1 天前
Jetpack Compose 2025年12月版本新增功能
android·kotlin·android jetpack
モンキー・D・小菜鸡儿2 天前
Android Jetpack Compose 基础控件介绍
android·kotlin·android jetpack·compose
darryrzhong4 天前
FluxImageLoader : 基于Coil3封装的 Android 图片加载库,旨在提供简单、高效且功能丰富的图片加载解决方案
android·github·android jetpack
我命由我123454 天前
Android 开发问题:在无法直接获取或者通过传递获取 Context 的地方如何获取 Context
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
儿歌八万首4 天前
Jetpack Compose 实战:实现手势缩放图片 (Zoomable Image) 组件
kotlin·android jetpack
QING6185 天前
Kotlin Flow 去重 (distinctUntilChanged) 详解
kotlin·android studio·android jetpack
QING6185 天前
Kotlin Flow 节流 (Throttle) 详解
android·kotlin·android jetpack
Nerve5 天前
FluxImageLoader : 基于Coil3封装的 Android 图片加载库,旨在提供简单、高效且功能丰富的图片加载解决方案
android·android jetpack
QING6186 天前
Kotlin Flow 防抖(Debounce)详解
android·kotlin·android jetpack
QING6186 天前
Kotlin Flow 防抖(Debounce)、节流(Throttle)、去重(distinctUntilChanged) —— 新手指南
android·kotlin·android jetpack