2017-04-12 7 views
5

मैं Xamarin में एक TextView Drawable के रंग को बदलने की कोशिश कर रहा हूं।टेक्स्टव्यू रंग का रंग सेट करने योग्य

जावा में आप इस तरह यह कर सकते हैं:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    TextView txt = (TextView) findViewById(R.id.my_textview); 
    setTextViewDrawableColor(txt, R.color.my_color); 
} 

private void setTextViewDrawableColor(TextView textView, int color) { 
    for (Drawable drawable : textView.getCompoundDrawables()) { 
     if (drawable != null) { 
      drawable.setColorFilter(new PorterDuffColorFilter(getColor(color), PorterDuff.Mode.SRC_IN)); 
     } 
    } 
} 

कैसे मैं Xamarin.Android में कुछ इस तरह कर सकते हैं?

उत्तर

4

आप एक ही चीज़ कर सकते हैं, लेकिन सी # वाक्यविन्यास के साथ।

private void SetTextViewDrawableColor(TextView textView, int color){ 

    foreach(var drawable in textView.GetCompoundDrawables()){ 

     if(drawable != null){ 

      drawable.SetColorFilter(new PorterDuffColorFilter(GetColor(color), PorterDuff.Mode.SrcIn); 
     } 
    } 
} 
+0

अगर किसी को एंड्रॉयड रंग करने के लिए संसाधन रंग परिवर्तित करना चाहते हैं, तो वे भी मदद कर सकता है: नई Android.Graphics.Color (ContextCompat.GetColor (यह, Resource.Color.bb_orange) और Color.ParseColor ("# 000000") ; – CDrosos

+0

यह मेरे लिए काम करता है 'drawable.setColorFilter (नया पोर्टरडफकॉलरफ़िल्टर (rescolorBlack, पोर्टरडफ.मोड.आरसीसीआईसी)); ' – Jiyeh

संबंधित मुद्दे