2012-01-17 26 views
7

मैं एक अनुप्रयोग जो निम्नलिखित दो बातें की जरूरत है लिख रहा हूँ: - पर मेरे पास अलग-अलग टेक्स्ट व्यू और स्पिनर टेक्स्ट रंगों के साथ वैश्विक थीम कैसे हो सकती है?

  • पाठ

    • सामान्य पाठ (TextView रों में) (गहरे रंग की पृष्ठभूमि, सफेद इस मामले में) एक रंग की जरूरत है एक Spinner जरूरतों को एक अलग रंग (काला, के बाद से सफेद पढ़ने के लिए बहुत कठिन है)

    होने के लिए मैं एक विषय, प्रकट में आवेदन के स्तर पर लागू करते थे, इसके बाद के संस्करण पहला आइटम करने के लिए।

    <resources> 
        <style name="GlobalTheme" parent="@android:style/Theme.Black.NoTitleBar.Fullscreen"> 
         <item name="android:textColor">#FFFFFF</item> 
        </style> 
    </resources> 
    

    अच्छा काम किया। इसके अलावा यह स्पिनर सफेद पर पाठ भी बनाता है, जो पढ़ना मुश्किल है।

    ठीक है, तो मैं स्पिनर रंग अभी भी काला होना चाहता हूँ लेकिन सब कुछ बाकी सफेद हो।

    मुझे this question मिला जो दिखाता है कि स्पिनर टेक्स्ट रंग कैसे सेट करें, और यह काम करता है, लेकिन केवल तभी जब मैं वैश्विक टेक्स्ट को भी स्थापित नहीं कर रहा हूं।

    तो निम्नलिखित काम नहीं करता:

    <resources> 
        <style name="GlobalTheme" parent="@android:style/Theme.Black.NoTitleBar.Fullscreen"> 
         <item name="android:textColor">#FFFFFF</item> 
         <item name="android:spinnerItemStyle">@style/GlobalThemeSpinnerItem</item> 
        </style> 
        <style name="GlobalThemeSpinnerItem" parent="android:Widget.TextView.SpinnerItem"> 
         <item name="android:textAppearance">@style/GlobalThemeTextAppearanceSpinnerItem</item> 
        </style> 
        <style name="GlobalThemeTextAppearanceSpinnerItem" parent="android:TextAppearance.Widget.TextView.SpinnerItem"> 
         <item name="android:textColor">#000000</item> 
        </style> 
    </resources> 
    

    मुझे लगता है कि मुझे उम्मीद थी कि इस सीएसएस जैसा होगा और चीजों वह यह है कि जो छोड़कर नीचे झरना हैं (यानी, "सभी पाठ सफेद होगा, एक स्पिनर में ")। यदि मैं मुख्य विषय में android:textColor लाइन को हटा देता हूं, तो स्पिनर रंग की चाल ठीक काम करती है।

    यह SpinnerItem की तरह लग रहा निकला से TextView तो मैं एक textViewStyle प्रकार जुदाई spinnerItemStyle जुदाई के लिए इसी तरह के साथ आने की कोशिश की, लेकिन किसी भी भाग्य नहीं था।

    अधिकांश लोगों के विपरीत जो इस बारे में पूछते हैं, मैं इसे जितना संभव हो एक्सएमएल में रखना चाहता हूं। क्या कोई जानता है कि मैं क्या गलत कर रहा हूं?

  • +0

    आप एक रंग और अभिभावक = "एंड्रॉइड: विजेट.TextView.SpinnerItem" के लिए पैरेंट = "एंड्रॉइड: विजेट.TextView" का उपयोग क्यों नहीं कर सकते? – Warpzit

    उत्तर

    1

    इस प्रयास करें:

    <?xml version="1.0" encoding="utf-8"?> 
    <resources xmlns:android="http://schemas.android.com/apk/res/android"> 
    
    <style name="GlobalTheme" parent="@android:style/Theme.Black.NoTitleBar.Fullscreen"> 
        <item name="android:spinnerItemStyle">@style/GlobalThemeSpinnerItem</item> 
        <item name="android:textViewStyle">@style/GlobalThemeTextViewItem</item> 
    </style> 
    
    <style name="GlobalThemeTextViewItem" parent="android:Widget.TextView"> 
        <item name="android:textAppearance">@style/GlobalThemeTextAppearanceTextViewItem</item> 
    </style> 
    <style name="GlobalThemeTextAppearanceTextViewItem" parent="android:TextAppearance.Widget.TextView"> 
        <item name="android:textColor">#FFFFFF</item> 
    </style> 
    
    <style name="GlobalThemeSpinnerItem" parent="android:Widget.TextView.SpinnerItem"> 
        <item name="android:textAppearance">@style/GlobalThemeTextAppearanceSpinnerItem</item> 
    </style> 
    <style name="GlobalThemeTextAppearanceSpinnerItem" parent="android:TextAppearance.Widget.TextView.SpinnerItem"> 
        <item name="android:textColor">#000000</item> 
    </style> 
    

    यह आपके TextViews सफेद और अपने स्पिनर्स काले रंग में पाठ में पाठ कर देगा।