मैं संपादित पाठ के नीचे नीला रंग बदलना चाहूंगा, मुझे नहीं पता कि यह क्या संपत्ति है।
मैंने इसके लिए एक अलग पृष्ठभूमि रंग का उपयोग करने की कोशिश की, लेकिन यह काम नहीं किया।
मैंने नीचे एक छवि संलग्न की है:
मैं संपादित पाठ के नीचे नीला रंग बदलना चाहूंगा, मुझे नहीं पता कि यह क्या संपत्ति है।
मैंने इसके लिए एक अलग पृष्ठभूमि रंग का उपयोग करने की कोशिश की, लेकिन यह काम नहीं किया।
मैंने नीचे एक छवि संलग्न की है:
जवाबों:
यह एक EditText प्रोग्रामेटिक रूप से (कोड की सिर्फ एक लाइन) के अंडरलाइन रंग को सेट करने के लिए वास्तव में काफी आसान है।
रंग सेट करने के लिए:
editText.getBackground().setColorFilter(color, PorterDuff.Mode.SRC_IN);
रंग हटाने के लिए:
editText.getBackground().clearColorFilter();
नोट: जब EditText पर ध्यान केंद्रित किया गया है, तो आपके द्वारा निर्धारित रंग प्रभावी नहीं होगा, इसके बजाय, इसका फोकस रंग है।
एपीआई संदर्भ:
Control.Background.SetColorFilter(Android.Graphics.Color.White, PorterDuff.Mode.SrcIn);
Renderer
आप ओवरराइड करते हैं? मैं यह पता लगाने की कोशिश कर रहा हूं कि खोज बार के लिए यह काम कैसे किया जाए।
SearchBarRenderer
प्रकार का नहीं है EditText
। यह काम करने के लिए नहीं मिल सकता है।
android:backgroundTint=""
अपने EditText
xml लेआउट में उपयोग करें ।
Api <21 के लिए आप AppCompatEditText
तब समर्थन लाइब्रेरी से उपयोग कर सकते हैंapp:backgroundTint=""
android:background="@null"
एपीआई <21 के साथ उपकरणों के लिए।
आपको EditText
(ध्यान केंद्रित, सक्षम, सक्रिय) के प्रत्येक राज्य के लिए एक अलग पृष्ठभूमि छवि का उपयोग करना होगा, रंग नहीं ।
http://android-holo-colors.com/
उपरोक्त साइट में, आप होलो थीम में बहुत सारे घटकों से चित्र प्राप्त कर सकते हैं। बस "EditText" और इच्छित रंग चुनें। आप पृष्ठ के नीचे एक पूर्वावलोकन देख सकते हैं।
.Zip फ़ाइल डाउनलोड करें, और अपनी परियोजना में संसाधनों को कॉपी करें (चित्र और XML)।
अगर आपका XML नाम है: apptheme_edit_text_holo_light.xml (या कुछ इसी तरह):
अपने XML "style.xml" पर जाएं और कस्टम EditText
शैली जोड़ें :
<style name="EditTextCustomHolo" parent="android:Widget.EditText">
<item name="android:background">@drawable/apptheme_edit_text_holo_light</item>
<item name="android:textColor">#ffffff</item>
</style>
बस अपने में यह करो EditText
:
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/EditTextCustomHolo"/>
और यह बात है, मुझे आशा है कि यह आपकी मदद करेगा।
यह एंड्रॉइड के पुराने और नए संस्करण के लिए ठीक काम करता है (एपीआई 10 पर भी ठीक काम करता है!)।
इस शैली को अपने में परिभाषित करें styles.xml
:
<style name="EditText.Login" parent="Widget.AppCompat.EditText">
<item name="android:textColor">@android:color/white</item>
<item name="android:textColorHint">@android:color/darker_gray</item>
<item name="colorAccent">@color/blue</item>
<item name="colorControlNormal">@color/blue</item>
<item name="colorControlActivated">@color/blue</item>
</style>
और अब अपने XML में, इसे थीम और स्टाइल ( सेट करने के लिए शैलीtextColor
, और अन्य सभी चीजों को सेट करने के लिए थीम) के रूप में सेट करें:
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"
style="@style/EditText.Login"
android:theme="@style/EditText.Login"/>
यह समाधान नए Android संस्करणों (लॉलीपॉप या मार्शमैलो पर) पर एक छोटे यूआई गड़बड़ का कारण बनता है कि चयन हैंडल को रेखांकित किया गया है।
इस धागे में इस मुद्दे पर चर्चा की गई है । (मैंने व्यक्तिगत रूप से इस समाधान की कोशिश नहीं की है)
आप बदल सकते हैं रेखांकन के EditText रंग में निर्दिष्ट किए styles.xml । अपने ऐप थीम में। Xml निम्नलिखित जोड़ें।
<item name="android:textColorSecondary">@color/primary_text_color</item>
जैसा कि टिप्पणी अनुभाग में एना द्वारा बताया गया है
<item name="android:colorControlActivated">@color/black</item>
इसे थीम स्टाइल में सेट करना एडिटेक्स अंडरलाइन के रंग बदलने के लिए अच्छी तरह से काम करता है।
android:textColorSecondary
बैक एरो और DrawerLayout
हैमबर्गर आइकन का रंग निर्धारित करने के लिए भी उपयोग किया जाता है।
<item name="colorControlNormal">@color/edittext_underline_color</item>
नेविगेशन बार रंग समस्या के कारण textColorSecondary के बजाय उपयोग करना समाप्त कर दिया है ।
तो, आपको अपने ड्रा करने योग्य फ़ोल्डर में एक नई .xml फ़ाइल बनाने की आवश्यकता है।
उस फ़ाइल में यह कोड पेस्ट करें:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="8dp"
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 में, सेट करें
android:background="@drawable/your_drawable"
आप अपने ड्रा करने योग्य xml, सेट कोनों, गद्दी, आदि के साथ खेल सकते हैं।
अपने अनुप्रयोग शैली में संपत्ति को परिभाषित colorAccent । यहां आपको एक उदाहरण मिलता है
<style name="AppTheme" parent="Theme.AppCompat.Light">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/action_bar</item>
<item name="colorPrimaryDark">@color/primary_dark</item>
<item name="colorAccent">@color/action_bar</item>
</style>
आप इस कोड को आसानी से कोड का उपयोग करके प्रोग्रामटेक्स्ट का रंग बदल सकते हैं:
edittext.setBackgroundTintList(ColorStateList.valueOf(yourcolor));
एडिट-टेक्स्ट के बॉर्डर का बैकग्राउंड कलर बदलने के लिए नीचे दिए गए कोड का उपयोग करें।
ड्रा करने योग्य के तहत नई XML फ़ाइल बनाएँ।
abc.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#00000000" />
<stroke android:width="1dip" android:color="#ffffff" />
</shape>
और इसे अपने संपादन-पाठ की पृष्ठभूमि के रूप में जोड़ें
android:background="@drawable/abc"
नीचे की रेखा के रंग को बदलने के लिए, आप इसे अपने ऐप थीम में उपयोग कर सकते हैं:
<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>
<item name="colorControlNormal">#c5c5c5</item>
<item name="colorControlActivated">#ffe100</item>
<item name="colorControlHighlight">#ffe100</item>
</style>
निम्नलिखित थीम के अनुसार फ्लोटिंग लेबल रंग बदलने के लिए:
<style name="TextAppearence.App.TextInputLayout" parent="@android:style/TextAppearance">
<item name="android:textColor">#4ffd04[![enter image description here][1]][1]</item>
</style>
और अपने लेआउट में इस विषय का उपयोग करें:
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="20dp"
app:hintTextAppearance="@style/TextAppearence.App.TextInputLayout">
<EditText
android:id="@+id/edtTxtFirstName_CompleteProfileOneActivity"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:capitalize="characters"
android:hint="User Name"
android:imeOptions="actionNext"
android:inputType="text"
android:singleLine="true"
android:textColor="@android:color/white" />
</android.support.design.widget.TextInputLayout>
आप इसे AppCompatEditText और रंग चयनकर्ता के साथ कर सकते हैं:
<androidx.appcompat.widget.AppCompatEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:backgroundTint="@color/selector_edittext_underline" />
selector_edittext_underline.xml:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/focused_color"
android:state_focused="true" />
<item android:color="@color/hint_color" />
</selector>
यदि आपको API <21 के साथ उपकरणों का समर्थन नहीं करना है, तो उदाहरण के लिए xml में बैकग्राउंडहिंट का उपयोग करें:
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:hint="Task Name"
android:ems="10"
android:id="@+id/task_name"
android:layout_marginBottom="15dp"
android:textAlignment="center"
android:textColor="@android:color/white"
android:textColorLink="@color/blue"
android:textColorHint="@color/blue"
android:backgroundTint="@color/lighter_blue" />
बेहतर समर्थन और कमियों के लिए @Akariuz समाधान का उपयोग करें। बैकग्राउंडहिंट सबसे दर्द रहित समाधान है, लेकिन पिछड़े संगत नहीं, आपकी आवश्यकताओं के आधार पर कॉल करते हैं।
बस एंड्रॉइड को बदलें: अपने कलर में xml कोड में backgroundTint