का उपयोग करते समय एक्शन मोड स्टाइल करने में असमर्थ मुझे यकीन नहीं है कि यह एक बग है या किसी भी तरह से मैं नई टूलबार कक्षा का सही उपयोग नहीं कर रहा हूं।टूलबार
मैं उपलब्ध थीम में से किसी एक का उपयोग करके सीधे एक्शनबार को थीम करने में सक्षम हूं। यह मुझे एक्शनमोड थीम करने की अनुमति देता है। सबकुछ अपेक्षित के रूप में सही काम करता है। यहां मैं यह कैसे कर रहा हूं।
<style name="Theme.ActionBar" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="actionModeBackground">@drawable/action_mode_background</item>
</style>
अब मैं थोड़ा अधिक लचीलापन ढूंढ रहा हूं इसलिए मैं समर्थन लाइब्रेरी से नए टूलबार का उपयोग करने की कोशिश कर रहा हूं। लागू टूलबार को सही और ठीक काम कर रहा है, हालांकि, अब कार्रवाई मोड अपेक्षित के रूप में काम नहीं कर रहा है। कस्टम पृष्ठभूमि काम नहीं कर रही है और एक्शन मोड बार टूलबार को नीचे दबा रहा है।
पुशिंग डाउन इश्यू को ठीक करने के लिए मैंने ध्वज windowActionModeOverlay
का उपयोग किया। मेरे लिए तथ्य यह है कि कार्रवाई मोड टूलबार का हिस्सा नहीं बन जाता है बेकार है ...:/
<style name="Theme.ActionBar" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="windowActionBar">false</item>
<item name="windowActionModeOverlay">true</item>
<item name="actionModeBackground">@drawable/action_mode_background</item>
</style>
मेरे गतिविधि में मैं अपनी टूलबार डिफ़ॉल्ट ActionBar बनाने के लिए निम्न उपाय अपनाते हैं।
Toolbar toolbar = (Toolbar) findViewById(R.id.toolBar);
setSupportActionBar(toolbar);
अभी मैंने कई चीजों की कोशिश की है। मैंने यह भी पता लगाने के लिए स्रोत में डाइविंग की कोशिश की कि क्या हो रहा है।
कोई विचार यह क्यों हो रहा है? मैं एक्शनमोड कैसे स्टाइल कर सकता हूं? या अधिक विशेष रूप से मैं एक्शनमोड की पृष्ठभूमि कैसे बदल सकता हूं?
अद्यतन 1
मैंने देखा है कि जब मेरी गतिविधि विषय को <item name="windowActionBar">false</item>
जोड़ने कार्रवाई मोड यह सच के रूप में होने की तुलना में अपने विषय के खो देता है। स्पष्ट रूप से इसे सत्य के रूप में सेट करना इसमें विंडो एक्शन बार शामिल होगा।
अद्यतन 2
मैं कार्रवाई मोड ठीक से थीम पर आधारित एक जोड़े mods का उपयोग कर प्राप्त करने में सक्षम था।
क्रिया मोड पृष्ठभूमि। एंड्रॉइड के रूप में आप सीधे एक्शनमोड थीम पर बैकग्राउंड सेट करते हैं: पृष्ठभूमि! साथ ही, पाठ को आपको थीम पर निर्दिष्ट करने की आवश्यकता है।
<item name="actionModeStyle">@style/Widget.ActionMode</item>
<style name="Widget.ActionMode" parent="@style/Widget.AppCompat.ActionMode"> <item name="android:background">@drawable/action_mode_background</item> <item name="titleTextStyle">@style/TitleTextStyle</item> </style>
वापस तीर नहीं स्टाइल रही। मैंने उपयोग किए जाने वाले ड्रॉबल को ओवरराइट किया और बस अपना खुद का सफेद जोड़ा।
<item name="actionModeCloseDrawable">@drawable/ic_arrow_back_white_24dp</item>
बस यह सुनिश्चित करने के लिए, मैं 'actionModeBackground' विशेषता को 'एंड्रॉइड:' उपसर्ग जोड़ने का प्रयास करूंगा। – natario
अरे, मैंने अपने प्रश्न को "फिक्स" के साथ अपडेट किया। एक्शन मोड पृष्ठभूमि सेट करना थोड़ा अलग हो जाता है। – Jona
और अब सवाल क्या है? – natario