मेरे पास "greenhighlight" नामक एक थीम है — यह विषय Android Action Bar Style Generator का उपयोग करके उत्पन्न किया गया था, और डिफ़ॉल्ट एक्शनबारशेल थीम से विरासत में मिला है। थीम एक्शनबार के नीचे नीले रंग से हरे रंग के हाइलाइट को छोड़कर कुछ भी नहीं करता है।मेरे संवाद के नीले हाइलाइट रंग को बदलने के लिए मुझे किन थीम विशेषताओं को ओवरराइड करने की आवश्यकता है?
विषय के लिएमेरे सभी गतिविधियों, मैं सिर्फ कार्य करें:
<application android:theme="@style/Theme.greenhighlight"...
यह गतिविधियों के लिए बहुत अच्छी तरह से काम करता है (ActionBar के तल पर हरे प्रकाश डाला ध्यान दें):
हालांकि , मुझे अपनी गतिविधियों से मेल खाने के लिए अपने संवादों में मदद करने में कठिनाई हो रही है:
<style name="greenhighlight_Dialog" parent="@style/Theme.Sherlock.Dialog">
<item name="android:progressBarStyleHorizontal">
@style/greenhighlight_ProgressBar
</item>
</style>
मैं डिफ़ॉल्ट शर्लक संवाद विषय से इनहेरिट कर रहा हूँ, और प्रगति बार शैली का उपयोग प्रगति बार अधिभावी के रूप में मेरे उत्पन्न द्वारा परिभाषित:
मेरे "greenhighlight_Dialog" विषय के रूप में परिभाषित किया गया है "ग्रीनहाइटलाइट" थीम — आप देख सकते हैं कि प्रगति पट्टी ऊपर स्क्रीनशॉट में हरे रंग की सही छाया है।
विषय का उपयोग करने के लिए, मैं निम्नलिखित कोड चल रहा हूँ:
ContextThemeWrapper ctw =
new ContextThemeWrapper(this, R.style.greenhighlight_Dialog);
AlertDialog.Builder builder = new AlertDialog.Builder(ctw);
...
ProgressDialog pd = new ProgressDialog(this, R.style.greenhighlight_Dialog);
...
मेरे समस्या मुझे नहीं पता कि मैं क्या ओवरराइड करने के लिए की जरूरत है गुण होता है। और themes.xml को Styles and Themes डॉको द्वारा अनुशंसित किया गया है (जो नोट करता है कि "आर। स्टाइल संदर्भ, हालांकि, अच्छी तरह से प्रलेखित नहीं है और शैलियों का पूरी तरह वर्णन नहीं करता है") — लेकिन कई शैलियों को परिभाषित किया गया है थीम पर। डायलॉग और मुझे यकीन है कि मुझे जो परिवर्तन चाहिए, उसे पाने के लिए मुझे ओवरराइड करने की आवश्यकता है।
मेरे संवाद के लिए हरे रंग के शीर्षक पाठ, शीर्षक के नीचे एक हरे रंग की हाइलाइट बार और चेक किए गए सूची आइटमों के लिए हरे रंग के चेक अंक रखने के लिए मुझे किन गुणों को ओवरराइड करने की आवश्यकता है?
अच्छा सवाल। लेकिन कृपया इस लाइन को [एक्शनबैरशेलॉक - थमिंग] (http://actionbarsherlock.com/theming.html) पर पढ़ें: * कोई अतिरिक्त संवाद थीम शामिल नहीं की जाएगी। यदि आपको संवाद की कुछ और अधिक उन्नत विशेषताओं की आवश्यकता है तो उन्हें स्वयं लागू किया जाना चाहिए। * –
@PareshMayani: हाँ, मैंने उस पंक्ति को पढ़ा है - यही कारण है कि मैं अपनी खुद की संवाद विषय लागू कर रहा हूं। – George