android – ContextCompat.GetColor没有返回Color

我正在尝试用ContextCompat.GetColor替换Resources.GetColor,但最后一个没有返回颜色,我不知道应该使用什么而不是Resources.GetColor(从API 23中弃用).任何人都可以帮助我(见下面我想要实现的目标)?
Button.SetBackgroundColor(ContextCompat.GetColor(this,Resource.Color.LightRed));

请注意,我使用的是Xamarin,但如果你在java中有答案,我可以很容易地适应它.
谢谢!

解决方法

ContextCompat只返回颜色的整数表示.您需要通过拆分其RGB部分将其转换为Android颜色.使用这样的东西
using Android.Graphics;

public static Color GetColorFromInteger(int color)
{
    return Color.Rgb(Color.GetRedComponent(color),Color.GetGreenComponent(color),Color.GetBlueComponent(color));
}

并在你的方法

btn.SetBackgroundColor(GetColorFromInteger(ContextCompat.GetColor(this,Resource.Color.LightRed);

相关文章

这篇“android轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...