दिलचस्प पोस्ट
सी ++ में एक वर्ग को सीरियल करना और डिसेरीलाइज करना संभव है? कक्षा के तरीकों में स्थिर चर रीडायरेक्ट और नेविगेशन / अग्रेषित और क्या इस्तेमाल करने के दौरान क्या अंतर है? क्या मैं एक ट्यूपल को नतीजा बिना बयान / मैच / में एक नया चर के लिए बाध्य कर सकता हूं? सी # का उपयोग कर पैरामीटर के रूप में पास विधि जावास्क्रिप्ट में दीप क्लोन कैसे करें Django मल्टी किरायेदारी जावा में स्ट्रिंग सरणी से नल वैल्यू निकालें एसटीआरएल नियमों में सुरक्षा 3.4.8 फायरबग उपकरण पट्टी बटन हमेशा फ़ायरफ़ॉक्स 51.0.1 के बाद निष्क्रिय दिखाई देता है क्या क्रोम के डेवलपर उपकरण में एक सरणी के रूप में एक jQuery ऑब्जेक्ट दिखाई देता है? सी # इंटरफेस – क्या बात है? Json deserialization के दौरान अज्ञात enum मानों को मैं कैसे अनदेखा कर सकता हूँ? मैं <सूची में कैसे जोड़ सकता हूं <? संख्या> डेटा ढांचे का विस्तार? Node.js – एक निर्माता के रूप में मॉड्यूल। एक्सपोर्ट्स का उपयोग

EditText कर्सर रंग सेट करें

मुझे यह समस्या हो रही है जहां मैं एंड्रॉइड के होलो थीम का इस्तेमाल एक टैबलेट परियोजना पर कर रहा हूं। हालांकि, मेरे पास स्क्रीन पर एक टुकड़ा है जिसमें एक सफेद पृष्ठभूमि है मैं इस टुकड़े पर एक EditText घटक जोड़ रहा हूं। मैंने होलो की पृष्ठभूमि को सेट करके थीम को ओवरराइड करने का प्रयास किया है.लाइट थीम संसाधन हालांकि, मेरे पाठ कर्सर (कैरेट) सफेद और इसलिए, स्क्रीन पर अदृश्य रहता है (मैं इसे स्पष्ट रूप से एडिटिट क्षेत्र में खोज सकता हूं ..)।

क्या किसी को पता है कि मैं एक गहरा कर्सर रंग का उपयोग करने के लिए संपादन टेक्स्ट कैसे प्राप्त कर सकता हूं? मैंने "@android:style/Widget.Holo.Light.EditText" को "@android:style/Widget.Holo.Light.EditText" सेट करने की कोशिश की है, जिसमें कोई सकारात्मक परिणाम नहीं है।

Solutions Collecting From Web of "EditText कर्सर रंग सेट करें"

android:textCursorDrawable सेट करना android:textCursorDrawable विशेषता को @null के उपयोग में होना चाहिए android:textColor रंग कर्सर रंग के रूप में।

एट्रिब्यूट "टेक्स्ट कर्सर ड्रॉएबल" एपीआई स्तर 12 और उच्चतर में उपलब्ध है

लेआउट में

 <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:textCursorDrawable="@drawable/color_cursor" /> 

फिर drawalble xml बनाएँ: color_cursor

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <size android:width="3dp" /> <solid android:color="#FFFFFF" /> </shape> 

आपके पास EditText संपत्ति पर एक सफेद रंग कर्सर है

ऐसा प्रतीत होता है जैसे सभी उत्तर झाड़ियों के आसपास जाते हैं।

आपके EditText , संपत्ति का उपयोग करें:

 android:textCursorDrawable="@drawable/black_cursor" 

और अपने संसाधनों में black_cursor.xml जोड़ें, इस प्रकार है:

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <size android:width="1dp" /> <solid android:color="#000000"/> </shape> 

यह आपको और अधिक विविध कर्सर बनाने का भी एक तरीका है, यदि आपको इसकी आवश्यकता है

मुझे जवाब मिल गया 🙂

मैंने थीम के संपादन टेस्ट शैली को इस पर सेट किया है:

 <item name="android:editTextStyle">@style/myEditText</item> 

फिर मैंने कर्सर को सेट करने के लिए निम्नलिखित ड्रॉएबल का उपयोग किया है:

`

 <style name="myEditText" parent="@android:style/Widget.Holo.Light.EditText"> <item name="android:background">@android:drawable/editbox_background_normal</item> <item name="android:textCursorDrawable">@android:drawable/my_cursor_drawable</item> <item name="android:height">40sp</item> </style> 

`

एंड्रॉइड: टेक्स्ट कर्सरड्रेवाययबल यहां कुंजी है

नवीनतम Appcompact v21 में कर्सर रंग बदलने का एक नया तरीका है
बस इस तरह शैली में रंग बदलने के लिए colorAccent :

  <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Set theme colors from http://www.google.com/design/spec/style/color.html#color-color-palette--> <!-- colorPrimary is used for the default action bar background --> <item name="colorPrimary">#088FC9</item> <!-- colorPrimaryDark is used for the status bar --> <item name="colorPrimaryDark">#088FC9</item> <!-- colorAccent is used as the default value for colorControlActivated which is used to tint widgets --> <!-- THIS IS WHAT YOU'RE LOOKING FOR --> <item name="colorAccent">#0091BC</item> </style> 

फिर अपने ऐप विषय या गतिविधियों पर इस शैली को लागू करें

अपडेट : इस तरह से केवल API 21+ पर काम करता है
अपडेट 2 : मुझे यकीन नहीं है कि वह न्यूनतम एंड्रॉइड संस्करण जो काम कर सकता है।
एंड्रॉइड संस्करण द्वारा परीक्षण किया गया:

 2.3.7 - didn't work 4.4.4 - worked 5.0 - worked 5.1 - worked 

किसी को भी जो कि EditText कर्सर रंग को गतिशील रूप से सेट करने की आवश्यकता है, नीचे आपको इस प्राप्त करने के दो तरीके मिलेगा।


सबसे पहले, अपना कर्सर तैयार करें:

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <solid android:color="#ff000000" /> <size android:width="1dp" /> </shape> 

आपके द्वारा बनाए गए ड्रारेज के लिए कर्सर ड्रॉएबल संसाधन आईडी सेट करें (https://github.com/android/platform_frameworks_base/blob/kitkat-release/core/java/android/widget/TextView.java#L562-564"&gt; सोर्स)) :

 try { Field f = TextView.class.getDeclaredField("mCursorDrawableRes"); f.setAccessible(true); f.set(yourEditText, R.drawable.cursor); } catch (Exception ignored) { } 

बस डिफ़ॉल्ट कर्सर के रंग को बदलने योग्य बनाने के लिए, आप निम्न विधि का उपयोग कर सकते हैं:

 public static void setCursorDrawableColor(EditText editText, int color) { try { Field fCursorDrawableRes = TextView.class.getDeclaredField("mCursorDrawableRes"); fCursorDrawableRes.setAccessible(true); int mCursorDrawableRes = fCursorDrawableRes.getInt(editText); Field fEditor = TextView.class.getDeclaredField("mEditor"); fEditor.setAccessible(true); Object editor = fEditor.get(editText); Class<?> clazz = editor.getClass(); Field fCursorDrawable = clazz.getDeclaredField("mCursorDrawable"); fCursorDrawable.setAccessible(true); Drawable[] drawables = new Drawable[2]; Resources res = editText.getContext().getResources(); drawables[0] = res.getDrawable(mCursorDrawableRes); drawables[1] = res.getDrawable(mCursorDrawableRes); drawables[0].setColorFilter(color, PorterDuff.Mode.SRC_IN); drawables[1].setColorFilter(color, PorterDuff.Mode.SRC_IN); fCursorDrawable.set(editor, drawables); } catch (final Throwable ignored) { } } 

पार्टी के लिए देर हो गई, यह मेरा जवाब है,

यह उन लोगों के लिए है, जो अपने माता-पिता की थीम में colorAccent बदलना नहीं चाहते हैं, लेकिन colorAccent विशेषताओं को बदलना चाहते हैं!

यह जवाब कैसे बदल सकता है …

  1. नीचे पंक्ति रंग
  2. कर्सर रंग
  3. कर्सर सूचक रंग (मैं अपनी कस्टम छवि का उपयोग किया था) ………. की गतिविधि का उपयोग करने के लिए शैली का उपयोग कर EditText

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

 <android.support.v7.widget.AppCompatEditText android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Hey" /> 

उदाहरण:

 <style name="AppTheme.EditText" parent="@style/Widget.AppCompat.EditText"> <item name="android:textColor">@color/white</item> <item name="android:textColorHint">#8AFFFFFF</item> <item name="android:background">@drawable/edit_text_background</item> // background (bottom line at this case) <item name="android:textCursorDrawable">@color/white</item> // Cursor <item name="android:textSelectHandle">@drawable/my_white_icon</item> // For pointer normal state and copy text state <item name="android:textSelectHandleLeft">@drawable/my_white_icon</item> <item name="android:textSelectHandleRight">@drawable/my_white_icon</item> </style> 

अब एक edit_text_background ( edit_text_background ) edit_text_background , पृष्ठभूमि के लिए संसाधन एक्सएमएल जोड़ें! आप जितना चाहें अनुकूलित कर सकते हैं!

 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:bottom="0dp" android:left="-3dp" android:right="-3dp" android:top="-3dp"> <shape android:shape="rectangle"> <stroke android:width="1dp" android:color="@color/white"/> </shape> </item> </layer-list> 

जैसे ही आपने अपनी शैली को अपनी गतिविधि थीम में सेट किया था।

उदाहरण :

आपकी गतिविधि में आपके पास एक थीम है, इस कस्टम editText विषय को उस पर सेट करें।

 <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Your Theme data --> <item name="editTextStyle">@style/AppTheme.EditText</item> // inculude this </style> 
 Edittext cursor color you want changes your color. <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:textCursorDrawable="@drawable/color_cursor" /> 

फिर drawalble xml बनाएँ: color_cursor

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <size android:width="3dp" /> <solid android:color="#FFFFFF" /> </shape> 

मेरे लिए मैंने ऐपथीम और वैल्यू रंग दोनों को संशोधित किया। Xml

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

यहां रंग। Xml है

 <?xml version="1.0" encoding="utf-8"?> <resources> <color name="yellow">#B7EC2A</color> </resources> 

मैंने एंड्रॉइड को निकाला: textCursorDrawable विशेषता @ न कि मैं संपादन टेक्स्ट शैली के अंदर रखा जब मैंने इसे प्रयोग करने की कोशिश की तो रंग बदल नहीं पाएंगे।

editcolor.xml

android:textCursorDrawable="@drawable/editcolor"

एक्सएमएल फाइल में रंगीन कोड का edittext पृष्ठभूमि रंग

वाह, मैं इस पार्टी के लिए बहुत देर हो चुकी हूं लेकिन इसकी गतिविधि 17 दिन पहले हुई है, यह सीम होगा कि हमें एक एंड्रॉइड के संस्करण का पोस्टिंग करने पर विचार करना होगा ताकि हम इसका उत्तर Android 2.1 और इसके बाद के संस्करण के साथ काम कर सकते हैं। मूल्यों / शैलियों और नीचे दिए गए कोड की लाइनें जोड़ें और आपका कर्सर काला हो जाएगा

  <style name="AppTheme" parent="Theme.AppCompat.NoActionBar"> <!--<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">--> <!-- Customize your theme here. --> <item name="colorControlActivated">@color/color_Black</item> <!--Sets COLOR for the Cursor in EditText --> </style> 

आपको अपने RES / COLOR फ़ोल्डर में कोड की इस पंक्ति की आवश्यकता होगी

 <color name="color_Black">#000000</color> 

यह देर क्यों है? एंड्रॉइड के कई राक्षसों के लिए कुछ श्रेणियों पर विचार करना अच्छा होगा!

इसकी तुलना में यह भी आसान है

 <style name="MyTextStyle"> <item name="android:textCursorDrawable">#000000</item> </style> 

यह आईसीएस में और इससे परे है मैंने इसे दूसरे संस्करणों में नहीं परीक्षण किया है

 <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">#36f0ff</item> <item name="colorPrimaryDark">#007781</item> <item name="colorAccent">#000</item> </style> <style name="AppTheme.NoActionBar"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> </style> <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" /> <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" /> 

शैलियां.एक्सएम में रंग भरने वाले रंग का रंग बदलने के लिए, यह आसान है

केवल वैध जवाब गतिविधि का विषय बदलने के लिए होना चाहिए: <item name="colorAccent">#000000</item> आपको android:textCursorDrawable उपयोग नहीं करना चाहिए android:textCursorDrawable @null क्योंकि यह केवल कर्सर को ही चिंतित करता है लेकिन पिन नहीं है कर्सर के नीचे अगर आप उस कर्सर को खींचना चाहते हैं थीमिंग समाधान सबसे गंभीर है

इसे इस्तेमाल करो

एंड्रॉयड: textCursorDrawable = "@ रंग / सफेद"