2012-07-30 19 views
5

स्टाइलिंग एंड्रॉइड मंच के बारे में मेरे ज्ञान में सुधार के लिए एक जगह है। यह देखते हुए कि मैं पूरी सुबह एक साधारण बदलाव करने की कोशिश कर रहा हूं और इसे प्राप्त करने में असमर्थ हूं।एक्शनशेलॉकबार स्टाइलिंग - पॉपअपमेनू

मैं एक्शन बार में ओवरफ़्लो मेनू की शैली को बदलना चाहता हूं। मैं पृष्ठभूमि रंग बदलने और एनिमेशन जोड़ने में सक्षम हूं, ताकि जब इसे क्लिक किया जाए तो यह एक चयनित रंग में फीका हो। लेकिन मेरे जीवन के लिए मैं पाठ रंग नहीं बदल सकता।

नीचे दो स्क्रीनशॉट हैं, एक थीम का उपयोग कर। शेरलॉक और दूसरा थीम का उपयोग कर। शेरलॉक। लाइट।

थीम। शेरलॉक - यह मेरी वर्तमान सेटिंग है जिसे मैंने अनुकूलित किया है। मैं जो चाहता हूं वह अतिप्रवाह (उर्फ एंड्रॉइड: पॉपअपमेनू) होलो थीम (नीचे जैसा) में होना है, और आदर्श रूप से ताकि मैं टेक्स्ट रंग बदल सकूं।

Theme.Sherlock

Theme.Sherlock.Light - इस विषय ओवरफ़्लो मेनू की शैली है कि मैं देखना चाहता हूँ पता चलता है। हालांकि, लाल रंग में हाइलाइट किया गया है, ओवरफ़्लो बटन गलत रंग है, और यह थीम क्षैतिज रेखा भी खींचती है।

Theme.Sherlock.Light

मैं नहीं जानता कि क्या यह सबसे अच्छा है/आसान पॉपअप मुद्दे के साथ Theme.Sherlock बदलने के लिए, या अतिप्रवाह आइकन और लाइन मुद्दे के साथ Theme.Sherlock.Light। एप्लिकेशन "लाइट" थीम का है, इसलिए विकल्प दो शायद लंबी अवधि की बेहतर पसंद है, हालांकि मैं एक ऐसा उत्तर स्वीकार करूंगा जो विषय को बदलकर समस्या को हल कर सके।

पेज। थीम/शैलियों को बदलने के लिए आपको विशेषताओं की एक सूची कहां मिलती है, ऑटो-पूर्ण ग्रहण में बहुत अपूर्ण है।

अद्यतन

यह वास्तव में im वापस एक ही समस्या के रूप में देशी कार्रवाई सलाखों, लेकिन अब नहीं 2.3 या नीचे समर्थन करने के लिए एक अद्यतन है।

<style name="AppTheme" parent="android:Theme.Holo.Light"> 
    <item name="android:actionOverflowButtonStyle">@style/OverFlow</item> 
</style> 

<style name="OverFlow" parent="@android:style/Widget.Holo.ActionButton.Overflow"> 
    <item name="android:src">**Insert your icon here**</item> 
</style> 

उत्तर

3

इस उत्तर शायद बहुत देर हो चुकी आ रहा है मदद से Theme.Sherlock की शैली ओवरराइड करने के लिए प्रयास करें, लेकिन जो लोग इस सवाल को भूल गए हो सकता है। मुझे यह दिलचस्प लगता है कि आप ओवरफ्लो के पृष्ठभूमि रंग को बदलने में सक्षम थे। मैंने पाया कि टेक्स्ट को बदलना बेहद मुश्किल था। बस अपनी कस्टम थीम में android:itemTextAppearance मान ओवरराइड करें।

<item name="android:itemTextAppearance">@style/your_new_text_appearance</item> 

<style name="your_new_text_appearance"> 
    <item name="android:textColor">@color/red</item> 
</style> 
+0

हमें कभी समाधान नहीं मिला। लेकिन मैं तब से एक अलग कंपनी पर चले गए हैं। अगली बार जब मैं अन्य डेवलपर्स देखता हूं तो मैं आपका उत्तर आगे बढ़ा दूंगा। – JonWillis

+1

हे भगवान, मैं इसे पर्याप्त रूप से ऊपर नहीं उठा सकता। दो दिन उस रंग को बदलने के लिए दर्जनों तरीकों की कोशिश कर रहे हैं, और अंततः एक समाधान। – Draiken

2

मैं ActionBarSherlock से परिचित नहीं हूँ, लेकिन आप फ़ोल्डर

path\to\android\android-sdk\platforms\android-api-level\data\res\drawable-resolution 

में अपनी हार्डडिस्क पर मानक अतिप्रवाह प्रतीक पा सकते हैं और वे वैकल्पिक रूप से ic_menu_moreoverflow_normal_holo_dark.png और ic_menu_moreoverflow_normal_holo_light.png

कहा जाता है आप उन्हें ऑनलाइन here पा सकते हैं।

मुझे विश्वास है कि बाएं सर्कल भी एक खींचने योग्य है। res\drawable के अंदर देखो।

+0

हाय, सुझाव के लिए धन्यवाद। एक थीम को देखते हुए यह संभव हो सकता है, मैं परियोजना में एक और खींचने योग्य छवि जोड़ने की तुलना में ऐसा करना पसंद करूंगा। अभी भी यह काम करने की कोशिश कर रहा है कि यह कैसे करें – JonWillis

+0

इस 2 साल बाद एंड्रॉइड में जवाब देने के बाद, मूल एक्शनबार में एक ही चीज़ पर वापस आ गया। आइकन के साथ आपका स्थान, लेकिन अब मैं थोड़ा और स्टाइल समझ रहा हूं। बस अपनी शैली में जोड़ें जो मैंने प्रश्न में जोड़ा है। – JonWillis

2

सरल निम्न कार्य करें:

<item name="popupMenuStyle">@style/PopupMenu</item> 

: अपने ऐप विषय शैली में theme.xml में यह आइटम जोड़ें। styles.xml में इस नई शैली जोड़ें:

<style name="PopupMenu" parent="@style/Widget.Sherlock.Light.ListPopupWindow"> 
    <item name="android:textSize">14sp</item> 
</style> 

शैली के रूप में आप चाहते हैं आप पाठ का आकार या अन्य पैरामीटर भी पार कर जाते हैं।

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