2015-02-05 14 views
8

मेरा मुख्य विषय Theme.AppCompat.Light पर आधारित है इस प्रकार के साथ Actionmode में 'वापस' तीर रंग अनुकूलित:appcompat-v7

<style name="core" parent="Theme.AppCompat.Light" > 
    <!-- Material, Yo!--> 
    <item name="colorPrimary">@color/theme_main_color</item> 
    <item name="colorPrimaryDark">@color/deep_purple</item> 
    <item name="colorAccent">@color/theme_accent_color</item> 
    <item name="android:navigationBarColor" tools:ignore="NewApi">?attr/colorPrimary</item> 
    <!-- Toolbar --> 
    <item name="theme">@style/my_toolbar_theme</item> 
    <item name="drawerArrowStyle">@style/my_drawer_arrow</item> 
    <!-- Actionbar --> 
    <item name="android:actionBarDivider">@null</item> 
    <item name="android:actionBarTabStyle">@null</item> 
    <item name="android:actionBarTabBarStyle">@null</item> 
    <!-- Contextual Actionbar --> 
    <item name="windowActionModeOverlay">true</item> 
    <item name="actionModeBackground">?attr/colorAccent</item> 
    <item name="actionModeStyle">@style/my_actionmode_style</item> 
</style> 

<style name="my_drawer_arrow" parent="Widget.AppCompat.DrawerArrowToggle" > 
    <item name="spinBars">true</item> 
    <item name="color">@color/theme_accent_color</item> 
</style> 

<style name="my_toolbar_style"> 
    <item name="android:id">@id/toolbar</item> 
    <item name="android:minHeight">?attr/actionBarSize</item> 
    <item name="android:layout_height">wrap_content</item> 
    <item name="android:layout_width">match_parent</item> 
    <item name="android:background">?attr/colorPrimary</item> 
    <item name="android:elevation" tools:ignore="NewApi">5dp</item> 
</style> 

<style name="my_actionmode_style" parent="Widget.AppCompat.Light.ActionMode.Inverse" > 
    <item name="titleTextStyle">@style/my_actionmode_title_style</item> 
    <item name="subtitleTextStyle">@style/my_actionmode_subtitle_style</item> 
</style> 

<style name="my_toolbar_style.gradient"> 
    <item name="android:background">@drawable/ab_gradient_bg</item> 
</style> 

<style name="my_toolbar_theme" parent="ThemeOverlay.AppCompat.Dark.ActionBar" > 
    <!-- Customize the toolbar here --> 
</style> 

<style name="my_actionmode_title_style" parent="TextAppearance.AppCompat.Widget.ActionMode.Title"> 
    <item name="android:textColor">@color/std_white</item> 
</style> 

<style name="my_actionmode_subtitle_style" parent="TextAppearance.AppCompat.Widget.ActionMode.Subtitle"> 
    <item name="android:textColor">@android:color/white</item> 
</style> 

actionmode में मैं देखना चाहते हैं सफेद शीर्षक/एक सफेद पीछे तीर के साथ उपशीर्षक। मैं शीर्षक और उपशीर्षक पाठ रंगों को सफेद पर सेट करने में सक्षम हूं, लेकिन पिछला तीर काला रहता है। यह समस्या केवल उन स्थानों पर होती है जहां मैं SupportActionbar का उपयोग कर रहा हूं, टूलबार नहीं (टूलबार में पिछला तीर सफेद है)।

यह एक्शनमोड में मेरी टूलबार है।

This is my toolbar in ActionMode

यह ActionMode में ActionBar है। वही फोन, एक ही ऐप, एक ही थीम, बस एक अलग गतिविधि।

This is the actionbar in ActionMode

मैं विषयों है कि इस रंग निर्धारित करेंगे में कुछ भी नहीं मिल सकता है। स्रोत के मुताबिक, आइकन @drawable/abc_ic_ab_back_mtrl_am_alpha है, जो सफेद है, इसलिए कुछ इसे टिनटिंग करना चाहिए। यह काला-आश रंग कहां से आता है?

+0

के लिए सबसे अच्छा जवाब है आज़माएं: http://stackoverflow.com/questions/27861102/actionbardrawertoggle-v7-arrow-color – Quanturium

उत्तर

5

मैं एक ही समस्या थी और मैं स्पष्ट रूप से आइकन मैं शैली में उपयोग करना चाहते हैं की घोषणा के द्वारा इसे हल किया है:

<item name="android:actionModeCloseDrawable">@drawable/ab_back</item> 

कहाँ @ drawable/ab_back मेरे द्वारा प्रदान की जाती है।

यह आदर्श नहीं है, क्योंकि मैं शैली को सही ढंग से सेट करना चाहता हूं और इसे विशिष्ट विवरण घोषित करने की आवश्यकता के बिना मूल विषय से सही रंगों को विरासत में काम करने देना चाहता हूं। लेकिन, मुझे एक्शनबार, सपोर्टएक्शनबार, शेरलॉकएक्शनबार, एक्शनबैरएक्टिविटी, फ्रैगमेंट एक्टिविटी विथशेरलॉकअपपोर्टऑक्शन टूलबार के आसपास सबकुछ महसूस होता है, इसलिए यह टूट गया है और खराब इंजीनियर है कि मुझे इसे हल करने के साथ हल करने में खुशी है।

अपने अनुप्रयोग स्तर विषय में:

<style name="MyTheme" parent="Theme.AppCompat.Light"> 
    <item name="actionModeCloseDrawable">@drawable/ic_actionbar_back</item> 
    <item name="actionModeCloseButtonStyle">@style/myclosebutton</item> 
</style> 

में

+3

हाँ, मैं ऐसा नहीं करना चाहता था। समर्थन libs में काफी विसंगतियां हैं। जब भी कोई कहता है स्टीव जॉब्स अपनी कब्र में घूमता है तो _Fragmentation_ ... – copolii

0

कोशिश "colorControlNormal" संपत्ति की तरह अपने "NoActionBar थीम"

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
</style> 

<style name="AppTheme.NoActionBar"> 
    <item name="colorControlNormal">@android:color/white</item> 
    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 
</style> 
18

इस का उपयोग करते हुए AppCompat अनुकूलित करने के लिए नीचे दिए गए CloseButtonStyle:

<style name="myclosebutton" parent="Widget.AppCompat.Light.ActionButton.CloseMode"> 
    <item name="android:tint">#ff0</item> <!-- whatever color --> 
</style> 
+0

इसे सही उत्तर के रूप में चिह्नित किया जाना चाहिए। यह पता लगाने के बिना क्रिया मोड में जबकि पीछे तीर का रंग बदलने की अनुमति देता है। धन्यवाद। – Rui

+0

धन्यवाद दोस्त .. अंततः मुझे कुछ ऐसा लगता है जो काम करता है ...! –

-1

मैं इस

Spannable text = new SpannableString(mode.getTitle()); 
        text.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.colorPrimaryDark)), 
          0, text.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE); 
        mode.setTitle(text); 
संबंधित मुद्दे

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