MAUI按钮BackgroundColor设置异常排查与解决
MAUI按钮运行时BackgroundColor设置异常问题
- 环境:Android Emulator API 30
- 问题:按钮Background属性可用,但BackgroundColor属性设置后无预期效果,尝试通过Brush自定义Background颜色也无效。
- 测试代码:
private void OnCounterClicked(object sender, EventArgs e) { count++; if (count % 2 == 0) CounterBtn.BackgroundColor = Color.FromRgba(0.3176471, 0.1686275, 0.8313726, 1); // 正常生效 else CounterBtn.BackgroundColor = Color.FromUint(574049); // 无效果 if (count == 1) CounterBtn.Text = $"Clicked {count} time"; else CounterBtn.Text = $"Clicked {count} times"; SemanticScreenReader.Announce(CounterBtn.Text); }
问题原因及解决方案
- 原因:
Color.FromUint(574049)生成的颜色alpha通道值为0,导致颜色完全透明,视觉上无法显示。 - 解决方式:改用明确指定alpha值的方法设置颜色,示例:
CounterBtn.BackgroundColor = Color.FromRgba(0.03137255, 0.7607843, 0.3803922, 1);
修改后颜色可正常显示。
内容的提问来源于stack exchange,提问作者WWW
相关产品推荐
相关产品推荐

