按钮重组后文本按钮颜色更改为白色(Compose - Android)

问题描述 投票:0回答:1

这是我的自定义按钮:

@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的深色模式下,打开深色模式时会出现问题,关闭时没有任何反应。

android button android-jetpack-compose compose-recomposition compose
1个回答
0
投票

这是一些奇怪的 MIUI 东西。尝试添加

  <item name="android:forceDarkAllowed">false</item>

到您的主题.xml。

© www.soinside.com 2019 - 2024. All rights reserved.