Release模式下ColorFilter不生效问题排查求助
问题
通过USB调试安装应用时,ColorFilter可正常生效,X/O图标能正确应用MaterialTheme.colorScheme.onBackground指定的颜色;但生成签名APK并安装后,ColorFilter完全不起作用,图标仍显示原始颜色。
生成签名APK后,Google Play提示无法安装,提交Play Protect申诉后虽可正常安装,但上述颜色异常问题仍存在,目前无法定位原因,求解决思路。
(附效果对比:USB安装版本图标颜色符合预期,签名APK版本图标颜色未被过滤修改)
相关代码
/** * 井字棋棋盘上的方块组件 * @param markImg 方块内显示的标记(X或O)的图片资源ID * @param onSquareClick 方块被点击时触发的回调函数 * @param modifier 应用到方块的修饰符 */ @Composable fun Square( @DrawableRes markImg: Int?, onSquareClick: () -> Unit, modifier: Modifier = Modifier ) { Surface( modifier = Modifier .size(dimensionResource(id = R.dimen.card_size_lg)) .padding(dimensionResource(id = R.dimen.padding_medium)), shadowElevation = dimensionResource(id = R.dimen.card_elevation), shape = RoundedCornerShape(16.dp) ) { Column( modifier = modifier .fillMaxSize() .clickable { onSquareClick() }, verticalArrangement = Arrangement.Center, horizontalAlignment = Alignment.CenterHorizontally ) { markImg?.let { Image( painter = painterResource(id = markImg), contentDescription = null, modifier = modifier .padding(dimensionResource(id = R.dimen.padding_large)), colorFilter = ColorFilter.tint(color = MaterialTheme.colorScheme.onBackground) ) } } } }
补充信息
已重构代码简化井字棋游戏状态,项目仓库相关信息可参考原提问出处。
内容的提问来源于stack exchange,提问作者Aqib Javid Bhat
相关产品推荐
相关产品推荐

