唯客微博客

专注于计算机,嵌入式领域的技术

0%

Jetpack Compose组件-进度指示器(ProgressIndicator)

Jetpack Compose组件-进度指示器(ProgressIndicator)

线性进度指示器(LinearProgressIndicator)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// 等待条
@Composable
fun LinearProgressIndicator(
// 修饰符
modifier: Modifier = Modifier,
// 进度颜色
color: Color = MaterialTheme.colors.primary,
// 背景颜色
backgroundColor: Color = color.copy(alpha = IndicatorBackgroundOpacity),
// 进度条末端样式
strokeCap: StrokeCap = StrokeCap.Butt
): Unit

@Composable
fun LinearProgressIndicator(
// 进度
progress: Float,
// 修饰符
modifier: Modifier = Modifier,
// 进度颜色
color: Color = MaterialTheme.colors.primary,
// 背景颜色
backgroundColor: Color = color.copy(alpha = IndicatorBackgroundOpacity),
// 进度条末端样式
strokeCap: StrokeCap = StrokeCap.Butt
): Unit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var progress by remember { mutableStateOf(0.1f) }
val animatedProgress by animateFloatAsState(
targetValue = progress,
animationSpec = ProgressIndicatorDefaults.ProgressAnimationSpec
)

Column(horizontalAlignment = Alignment.CenterHorizontally) {
LinearProgressIndicator(progress = animatedProgress)
Spacer(Modifier.requiredHeight(30.dp))
OutlinedButton(
onClick = {
if (progress < 1f) progress += 0.1f
}
) {
Text("Increase")
}
}

圆形进度指示器(CircularProgressIndicator)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
@Composable
fun CircularProgressIndicator(
// 修饰符
modifier: Modifier = Modifier,
// 进度颜色
color: Color = MaterialTheme.colors.primary,
// 进度条宽度
strokeWidth: Dp = ProgressIndicatorDefaults.StrokeWidth,
// 背景颜色
backgroundColor: Color = Color.Transparent,
// 进度条末端样式
strokeCap: StrokeCap = StrokeCap.Square
): Unit

@Composable
fun CircularProgressIndicator(
// 进度
progress: Float,
// 修饰符
modifier: Modifier = Modifier,
// 进度颜色
color: Color = MaterialTheme.colors.primary,
// 进度条宽度
strokeWidth: Dp = ProgressIndicatorDefaults.StrokeWidth,
// 背景颜色
backgroundColor: Color = Color.Transparent,
// 进度条末端样式
strokeCap: StrokeCap = StrokeCap.Butt
): Unit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var progress by remember { mutableStateOf(0.1f) }
val animatedProgress by animateFloatAsState(
targetValue = progress,
animationSpec = ProgressIndicatorDefaults.ProgressAnimationSpec
)

Column(horizontalAlignment = Alignment.CenterHorizontally) {
CircularProgressIndicator(progress = animatedProgress)
Spacer(Modifier.requiredHeight(30.dp))
OutlinedButton(
onClick = {
if (progress < 1f) progress += 0.1f
}
) {
Text("Increase")
}
}
-------------本文结束感谢您的阅读-------------

本文标题:Jetpack Compose组件-进度指示器(ProgressIndicator)

文章作者:Vinx

发布时间:2023年01月13日 - 09:37

最后更新:2023年09月19日 - 08:39

原始链接:https://blog.vinkvin.com/post/69/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。