这是我的自定义按钮:
@Composable
fun CustomButton(
modifier: Modifier,
textButton: String,
isLoading: Boolean = false,
onClick: () -> Unit
) {
if (isLoading) {
Box(
modifier = modifier
.background(Color.White.copy(alpha = 0.8f), shape = RoundedCornerShape(15.dp)),
contentAlignment = Alignment.Center
) {
CircularProgressIndicator(
modifier = Modifier.size(30.dp),
color = Color(0xFF15151A)
)
}
} else {
Button(
modifier = modifier,
onClick = onClick,
colors = ButtonDefaults.buttonColors(
containerColor = Color.White,
contentColor = Color(0xFF15151A),
disabledContainerColor = Color.White.copy(alpha = 0.8f),
disabledContentColor = Color(0xFF15151A)
),
shape = RoundedCornerShape(size = 15.dp),
) {
Text(
text = textButton,
fontSize = 17.sp,
)
}
}
}
按钮第一次显示正确(背景白色和文本黑色),然后加载状态被激活,CircularProgressIndicator显示正确,但问题是当加载状态完成并且按钮再次显示时却做得不正确,好吧文本颜色变为白色而不是黑色,这是我为按钮内容指定的颜色。
有人知道为什么会发生这种情况吗?以及如何修复它?
这是一个新的更新: 问题出在小米红米note 8的深色模式下,打开深色模式时会出现问题,关闭时没有任何反应。
这是一些奇怪的 MIUI 东西。尝试添加
<item name="android:forceDarkAllowed">false</item>
到您的主题.xml。