2009-08-27 11 views
49

जब मैं को TextView ऑब्जेक्ट के लिए कॉल करता हूं तो टेक्स्ट रंग बदलता नहीं है। मुझे उम्मीद है कि इसे भूरे रंग में बदल दिया जाएगा। अगर मैं अपनी XML फ़ाइल में android:textColor की रेखा को हटा देता हूं, तो यह सामान्य पर वापस आ जाता है।अक्षम होने पर एंड्रॉइड टेक्स्ट व्यू रंग बदलता नहीं है

कोई विचार?

+0

यहाँ समाधान है: डी http://stackoverflow.com/questions/4692642/android-customized-button-changing-text-color – cesards

+0

आप मैन्युअल रूप से पाठ का रंग जो कुछ भी करने के लिए आप चाहते हैं सेट करना होगा। कम से कम यही मुझे करना है। – MattC

उत्तर

121

मुझे लगता है कि क्या हो रहा है यह है कि चूंकि आप डिफ़ॉल्ट टेक्स्ट रंग को ओवरराइड कर रहे हैं, इसलिए यह अन्य टेक्स्ट रंग शैलियों को विरासत में नहीं मिला है। इसके लिए ColorStateList बनाने का प्रयास करें और रंग के बजाय टेक्स्ट रंग विशेषता को सेट करें।

एक रंग फ़ाइल में (उदाहरण के लिए रेस/रंग/example.xml):

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_enabled="false" android:color="@color/disabled_color" /> 
    <item android:color="@color/normal_color"/> 
</selector> 
फिर अपने लेआउट में

:

<TextView 
    android:text="whatever text you want" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textColor="@color/example" /> 

ध्यान दें, मैं इस एक समय में नहीं किया है और मैं इसे स्मृति से बहुत कुछ लिख रहा हूं, इसलिए इसे थोड़ा tweaking की आवश्यकता हो सकती है। कलरस्टेटलिस्ट डॉक्स (उपरोक्त लिंक) में रंग XML फ़ाइल के लिए एक अधिक fleshed-out उदाहरण है।

+1

अरे धन्यवाद, इससे बहुत मदद मिली। – Matthias

+0

मदद करने में खुशी :) –

+0

ग्रेट वन, धन्यवाद! – Tomasz

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