2014-09-23 18 views
10

Mam wartość Android.Resource.Color jak Android.Resource.Color.HoloOrangeDark.
Chcę ukryć to na Android.Graphics.Color.
Jak mogę to zrobić?Jak przekonwertować Android.Resource.Color na Android.Graphics.Color

+0

nie istnieje klasa Android.Resource.Color – pskink

+1

@pskink 'Android.Resource.Color' jest ENUM w Xamarin.Android stanowiących stałe całkowite dla [klasy Android.R.Color w Android] (http://developer.android.com/reference/android/R.color.html). Więc 'Android.Resource.Color' jest równy' Anroid.R.Color' w Androidzie. Wartości są stałymi liczbami całkowitymi. –

+1

, więc Resources.getColor() powinien prawdopodobnie działać – pskink

Odpowiedz

14

Resources.GetColor została zaniechana. Upewnij się, że zamiast tego używasz ContextCompat.GetColor.

Więc

Resources.GetColor(Resource.Color.HoloOrangeDark); 

Czy stać

int colorInt = ContextCompat.GetColor(this.Context, Resource.Color.HoloOrangeDark)) 

ContextCompat zwraca int, tak aby otrzymać kolor z niego po prostu stworzyć nowy kolor i przekazać w int.

Color color = new Color(colorInt); 
7

Można spróbować to:

Resources.GetColor(Resource.Color.HoloOrangeDark); 

UPDATE:
Resources.GetColor została zaniechana. Można skorzystać z ContextCompat jak poniżej:

ContextCompat.GetColor(mContext, Resource.Color.HoloOrangeDark); 
+0

Tutaj konwertujesz ciąg na 'Android.Graphics.Color'. Ale chcę przekonwertować 'Android.Resource.Color' na' Android.Graphics.Color'. 'Android.Resource.Color' jest stałą liczbą całkowitą, taką jak:' holo_orange_dark': 17170457 –

+0

Używam różnych wartości wyliczeniowych Androida: http: //developer.android.com/reference/android/R.color.html –

+2

'Zasoby .GetColor' jest teraz przestarzałe. Czego teraz używasz? – paqogomez