如何将Android.Resource.Color转换为Android.Graphics.Color

Cod*_*ope 13 android xamarin

我有一个Android.Resource.Color像这样的价值Android.Resource.Color.HoloOrangeDark.
我想把它变成一个Android.Graphics.Color.
我怎样才能做到这一点?

And*_*tro 20

Resources.GetColor已被弃用.请务必使用ContextCompat.GetColor.

所以

Resources.GetColor(Resource.Color.HoloOrangeDark);
Run Code Online (Sandbox Code Playgroud)

会变成

int colorInt = ContextCompat.GetColor(this.Context, Resource.Color.HoloOrangeDark))
Run Code Online (Sandbox Code Playgroud)

ContextCompat返回一个int,以便从中获取Color,只需创建一个新颜色并传入int.

Color color = new Color(colorInt);
Run Code Online (Sandbox Code Playgroud)


Nar*_*aki 7

你可以试试这个:

Resources.GetColor(Resource.Color.HoloOrangeDark);
Run Code Online (Sandbox Code Playgroud)

更新:
Resources.GetColor已被弃用.您可以使用ContextCompat,如下所示:

ContextCompat.GetColor(mContext, Resource.Color.HoloOrangeDark);
Run Code Online (Sandbox Code Playgroud)

  • `Resources.GetColor`现已弃用.你现在用什么? (2认同)
  • ContextCompat.GetColor(Context, Resource.Color.HoloOrangeDark); 您必须包含 Android.Support.V4 (2认同)