2014-10-31 4 views
9

एपीआई 21 में उप-वर्ग के लिए सामग्री डिज़ाइन, हम colorAccent का उपयोग EditText, RadioButton आदि जैसे विजेटों के रंग को बदलने के लिए कर सकते हैं लेकिन यह उन विगेट्स के उप-वर्गों पर लागू नहीं होता है। मैंने this की कोशिश की है लेकिन यह colorAccent की तरह है, यह केवल मूल विजेट पर लागू होता है।एडिटटेक्स्ट

क्या इसका कोई समाधान है? एक कस्टम ड्रॉइंग बनाने के अलावा इसे एक शैली के रूप में लागू करता है ..

+2

"एडिटटेक्स्ट के उप-वर्ग" से आपका क्या मतलब है? क्या आप कह रहे हैं कि यदि आप EditText का विस्तार करते हैं तो colorAccent लागू नहीं होता है? – Squonk

+0

@Squonk yup..मैं ने मूल संपादन टेक्स्ट को विस्तारित करके एक कस्टम संपादन टेक्स्ट बनाया है, लेकिन colorAccent मेरे कस्टम संपादन टेक्स्ट पर लागू नहीं होता है। –

उत्तर

11

वास्तव में अपने कस्टम EditText वर्ग का विस्तार करने के लिए।

+0

यह समाधान मार्शमलो पर दुर्घटनाग्रस्त हो जाता है। – AndroidDev

+0

नहीं, ऐसा नहीं है, हो सकता है कि आप कुछ अलग कर रहे हों। – Jessicardo

0

चूंकि, आपने कोई स्रोत कोड पोस्ट नहीं किया है, मुझे लगता है कि आप एक एक्सएमएल लेआउट से अपना दृश्य नहीं बढ़ा रहे हैं, लेकिन नए MyCustomEditText को कॉल करने के लिए रटर को रेट कर रहे हैं।

डेवलपर्स साइट ने कहा: सामग्री थीम डिज़ाइन केवल लेआउट inflater का उपयोग करके दृश्य लोड करते समय लागू किया जा सकता है।

ऐसा इसलिए है क्योंकि नई सामग्री डिजाइन बैकपोर्ट लेआउट मुद्रास्फीति प्रक्रिया में हुक करता है।

एक और कारण यह तथ्य हो सकता है कि एपकोम्पैट v7 लाइब्रेरी केवल भौतिक डिज़ाइन को लोड करती है जब इसे XML लेआउट में एडिटटेक्स्ट मिलती है। और यह कस्टम दृश्य घटकों को पहचान नहीं है।

Google सामग्री बैकपोर्ट विजेट को जनता में रिलीज़ करने की योजना बना रहा है, उन्होंने कहा कि ये अभी भी विकास में हैं। आप इन विशेष बैकपोर्ट विजेट्स को ओवरराइड करना चाह सकते हैं जो संभवतः आपकी समस्या का समाधान कर सकते हैं। लेकिन चूंकि वे अभी तक सार्वजनिक नहीं हैं ... आप नहीं कर सकते।

+0

मैंने एक्सएमएल के माध्यम से अपना कस्टम व्यू बुलाया और इसे क्रिएटिव्यू के माध्यम से फुलाया .. तो मुझे लगता है कि मुझे तब इंतजार करना होगा? –

12

लागू करने colorAccent सिर्फ Android समर्थन 22.1 आप AppCompatEditText उपवर्ग चाहिए के रूप में से android.support.v7.widget.AppCompatEditText

+0

वाह, मुझे नहीं पता था..बहुत बहुत धन्यवाद .. –

+1

@DarkLeonhart यह कक्षा समर्थन लाइब्रेरी के आंतरिक उपयोग के लिए है, लेकिन मुझे कोई अन्य तरीका नहीं पता – AndrOvip

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