दिलचस्प पोस्ट
scanf getchar फ़ंक्शन छोड़ दिया है आईओएस 10 पर पुश सूचनाएं प्राप्त नहीं की जा रही हैं, लेकिन आईओएस 9 और इससे पहले लॉग 4j का उपयोग करके जावा में अपवाद को लॉग करें Rails पर रूबी में बटन अजाक्स की तरह एक्जीप्शन से चलने वाले सभी जेयूनेट परीक्षणों के लिए कस्टम लॉग 4 जे.प्रॉपर्टीज़ फ़ाइल निर्दिष्ट करना क्या कोई ऑनलाइन रेगेक्स बड्डी जैसी नियमित अभिव्यक्ति विश्लेषक है? Google App इंजन के पेशेवरों और विपक्ष जीसीसी में साझा लाइब्रेरी के एक विशिष्ट संस्करण से आप कैसे लिंक करते हैं? एक .lib फ़ाइल बनाने के लिए जब एक। Dll फ़ाइल और एक हैडर फ़ाइल है एमवीसी: जहां व्यापार तर्क लगाया गया है? क्या नई परियोजनाओं को log4j के बजाय लॉगबैक का उपयोग करना चाहिए? बुफ़ेरेड इमेज रिसाइज जेडीबीसी कनेक्शन पूल (ग्लासफ़िश) का उचित उपयोग त्रुटि: 1005 त्रुटि: तालिका नहीं बना सकते (त्रुटि: 121) मैं एक फ़ाइल में लाइनों के क्रम को कैसे बदल सकता हूँ?

कैसे एंड्रॉइड में EditText के त्रुटि पाठ में शैली लिखने के लिए?

मैं अपने एंड्रॉइड एप्लिकेशन के लिए नई कस्टम शैली लिखने की कोशिश कर रहा हूं। मुझे त्रुटि देने वाला शैली देने की आवश्यकता है जो कि editText में setError सेट करने के बाद दिखाई देता है।

मैं इसकी शैली कैसे बदल सकता हूं?

उदाहरण के लिए: मैं अपनी background सफेद और textColor रंग देना चाहता textColor : ब्लू आदि आदि style.xml में

यहां छवि विवरण दर्ज करें

Solutions Collecting From Web of "कैसे एंड्रॉइड में EditText के त्रुटि पाठ में शैली लिखने के लिए?"

समाधान अंत में है और यहां स्क्रीनशॉट है:

स्टाइल त्रुटि


कुछ स्पष्टीकरण

आप निम्न पंक्ति का उपयोग करके टेक्स्ट कलर सेट कर सकते हैं

 yourEditText.setError(Html.fromHtml("<font color='blue'>this is the error</font>")); 

हालांकि, इसकी गारंटी नहीं हो सकती है


स्रोत कोड के मुताबिक, यह Popup दिखाता है कि ErrorPopup Popup जो ErrorPopup अंदर आंतरिक श्रेणी है। इस Popup की सामग्री com.android.internal.R.layout.textview_hint से एक एकल TextView फुलाया है

 final TextView err = (TextView) inflater.inflate(com.android.internal.R.layout.textview_hint, null); 

इस Popup की पृष्ठभूमि इस पर निर्भर करती है कि उसे लंगर से ऊपर रखा जाना चाहिए या नहीं:

 if (above) { mView.setBackgroundResource(com.android.internal.R.drawable.popup_inline_error_above); } else { mView.setBackgroundResource(com.android.internal.R.drawable.popup_inline_error); } 

चूंकि पॉपअप बनाने के लिए उपयोग किए जाने वाले सभी एंड्रॉइड संसाधन आंतरिक और अंततः हार्ड-कोड किए गए हैं, इसलिए आपका सर्वश्रेष्ठ शॉट अपना स्वयं का त्रुटि पॉपअप बनाने के लिए होगा यह बहुत आसान होगा और आप वास्तव में सामान्य EditText साथ हस्तक्षेप नहीं करेंगे क्योंकि डिफ़ॉल्ट पॉपअप का उपयोग केवल त्रुटि दिखाने के लिए किया जाता है, और, इस प्रकार, अपना स्वयं का निर्माण ठीक होगा


उपाय

मैंने इसे यहां बनाया है: विडाइडवेट्स

मुझे नहीं लगता कि आप अपनी शैली को इस प्रकार अनुकूलित कर सकते हैं क्योंकि त्रुटि पॉपअप आंतरिक शैली का उपयोग करता है :

 mPopupInlineErrorBackgroundId = getResourceId(mPopupInlineErrorBackgroundId, com.android.internal.R.styleable.Theme_errorMessageBackground); mView.setBackgroundResource(mPopupInlineErrorBackgroundId); 

हालांकि, आप ओवरलोड किए गए setError(CharSequence, Drawable) का प्रयोग करके एक Spanned और कस्टम त्रुटि आइकन सेट कर सकते हैं।

आप आसानी से एचटीएमएल fromHtml() का उपयोग करते हुए fromHtml() से एक fromHtml() बना सकते हैं

हालांकि, आप अब भी पॉपअप पृष्ठभूमि छवि सेट नहीं कर पाएंगे 🙁

संपादित करें पाठ फ़ील्ड रिक्त है, तो कृपया इसे फ़ॉर्म सत्यापन के समय जोड़ दें।

  int ecolor = R.color.black; // whatever color you want String estring = "Please enter a valid email address"; ForegroundColorSpan fgcspan = new ForegroundColorSpan(ecolor); SpannableStringBuilder ssbuilder = new SpannableStringBuilder(estring); ssbuilder.setSpan(fgcspan, 0, estring.length(), 0); edtEmail.requestFocus(); edtEmail.setError(ssbuilder); 

जब आप संपादन टेक्स्ट में लिखते हैं, त्रुटि संकेत स्वत: बंद हो जाता है

धन्यवाद सचिन

मैंने स्वीकार किए गए उत्तर देखा है लेकिन मुझे प्रस्तावित पुस्तकालय पसंद नहीं है

मुझे लगता है कि यह एंड्रॉइड फ्रेमवर्क में एक बग है और मैंने यहां एक बग दर्ज किया है: https://code.google.com/p/android/issues/detail?id=158590

संपादित करें: एंड्रॉइड डिज़ाइन लाइब्रेरी टेक्स्ट इनपुटलेआउट विजेट का इस्तेमाल संपादन टेक्स्ट पर एक बेहतर त्रुटि प्रबंधन प्राप्त करने के लिए किया जा सकता है।

यहां देखें कि यह कैसा दिखता है: https://www.youtube.com/watch?v=YnQHb0fNtF8

और यहां कैसे कार्यान्वित करें: http://code.tutsplus.com/tutorials/creating-a-login-screen-using-textinputlayout–cms-24168

त्रुटि संदेश की एक अच्छी सामग्री डिजाइन देखो के लिए इस लिंक का पालन करें! materialdoc स्क्रीनशॉट

यह ठीक काम करता है!

 private fun setErrorOnSearchView(searchView: SearchView, errorMessage: String) { val id = searchView.context .resources .getIdentifier("android:id/search_src_text", null, null) val editText = searchView.find<EditText>(id) val errorColor = ContextCompat.getColor(this,R.color.red) val fgcspan = ForegroundColorSpan(errorColor) val builder = SpannableStringBuilder(errorMessage) builder.setSpan(fgcspan, 0, errorMessage.length, 0) editText.error = builder }