TextInputLayout का उपयोग करते समय EditText संकेत रंग बदलें


146

मैं TextInputLayoutडिज़ाइन लाइब्रेरी से नए का उपयोग कर रहा हूं । मैं इसे दिखाने के लिए और फ्लोटिंग लेबल के रंग को बदलने में सक्षम हूं। दुर्भाग्य से वास्तविकEditText संकेत अब हमेशा सफेद होता है।

मैंने XML, शैलियों और प्रोग्राम में hintColor को बदलने की कोशिश की है और यह भी कोशिश की है android.support.v7.widget.AppCompatEditText लेकिन EditTextसंकेत हमेशा सफेद दिखाते हैं।

यहाँ मेरे TextInputLayoutऔर मेरे लिए XML हैEditText

<android.support.design.widget.TextInputLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android.support.design:hintTextAppearance="@style/GreenTextInputLayout">


    <EditText

    android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/city"
        android:textColorHint="@color/black"
        android:hint="@string/city" />

</android.support.design.widget.TextInputLayout>

और यहां वह शैली है जिसका मैं उपयोग कर TextInputLayoutरहा हूं (मैंने hintTextColorविशेषता को काला बनाने की कोशिश की, लेकिन मेरे लिए कुछ नहीं किया):

<style name="GreenTextInputLayout" parent="@style/TextAppearance.AppCompat">
    <item name="android:textColor">@color/homestory_green</item>
</style>

मैं उसी त्रुटि का सामना कर रहा हूं। संकेत हमेशा "WHITE" रंग होता है शुरू में किसी भी editText को छूने के बाद, यह आपके द्वारा परिभाषित रंग लेता है। फिर भी ठीक करने के लिए खोज।
ch3tanz

क्या आपने @Ali Kabiri का जवाब देने की कोशिश की है। ऐसा लग रहा है कि यह मेरा एक बेहतर उपाय है। मेरा प्रोजेक्ट मेरे लिए बहुत विशिष्ट था।
सैमियाहार्मिस

मैंने अपना कस्टम विषय रखा है और सभी रंग शैली में परिभाषित किए गए हैं। xml
ch3tanz

जवाबों:


164

android:textColorHintअपनी एप्लिकेशन थीम में परिभाषित करें :

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
    <item name="colorPrimary">@color/primary</item>
    <item name="colorPrimaryDark">@color/primary_dark</item>
    <item name="colorAccent">@color/accent</item>

    <item name="android:textColorHint">@color/secondary_text</item>
</style>

स्रोत


@ TheHungryAndroider ने क्या आपने एसिटविटिटी के विषय के रूप में थीम सेट की है जहां आप संपादन पाठ का उपयोग करते हैं?
mbelsky

1
यह मेरे लिए काम करता है, लेकिन संकेत का रंग खंड और दृश्य निर्माण में सेट नहीं है, मुझे अपने EditTextरंग पर क्लिक करने के लिए सभी इनपुट को दृश्य के भीतर सेट करना होगा ... अभी तक उस पर कोई निर्धारण नहीं मिला है ( requestFocus()और performClick()दुर्भाग्य से चाल मत करो)।
१te

1
विशेषता के रूप में उपयोग किए जाने पर काम किया गया: <EditText Android: inputType = "textMultiLine" Android: lines = "4" android: गुरुत्वाकर्षण = "शीर्ष। दाईं ओर" एंड्रॉइड: लेआउट_प्रकार = "fill_parent" Android: layout_ight = "match_parent" Android: hint = " संकेत पाठ "android: textColorHint =" # 919389 "/>
मसूद चेरीज

75

Style.xml में कस्टम स्टाइल बनाएं

<style name="EditTextHint" parent="TextAppearance.AppCompat">
    <item name="colorAccent">@android:color/white</item>
    <item name="android:textColorHint">@color/BackgroundtWhiteColor</item>
    <item name="colorControlNormal">@color/BackgroundtWhiteColor</item>
    <item name="colorControlActivated">@color/your color</item>
    <item name="colorControlHighlight">@color/BackgroundtWhiteColor</item>
</style>

फिर अपने लेआउट xml फ़ाइल में नीचे के रूप में विषय विशेषता जोड़ें

 <android.support.design.widget.TextInputLayout
            android:theme="@style/EditTextHint"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

      <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>

</android.support.design.widget.TextInputLayout>

आशा है कि यह काम करता है


4
"एडिटिंग क्लास एडिटिंग में त्रुटि" दिखा रहा है। कृपया सहायता कीजिए !
मोहित खेतान

@ उनके द्वारा जोड़ी गई कुछ विशेषताओं को 21+
Mr.O


41

वही समस्या है। इन पंक्तियों को मूल विषय में रखकर हल किया गया है ।

 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/ColorPrimaryDark</item>
    <item name="colorPrimaryDark">@color/ColorPrimaryDark</item>
    <item name="colorAccent">@color/AccentColor</item>
    <item name="android:windowTranslucentStatus">true</item>

    <item name="android:textColorHint">@color/BackgroundtWhiteColor</item>
    <item name="colorControlNormal">@color/BackgroundtWhiteColor</item>
    <item name="colorControlActivated">#ff0000</item>
    <item name="colorControlHighlight">@color/BackgroundtWhiteColor</item>
    <!-- Customize your theme here. -->
</style>

अगर आप ये डालते हैं

<item name="android:textColorHint">@color/BackgroundtWhiteColor</item>
<item name="colorControlNormal">@color/BackgroundtWhiteColor</item>
<item name="colorControlActivated">#ff0000</item>
<item name="colorControlHighlight">@color/BackgroundtWhiteColor</item>

एक अलग शैली में और इसे TextInputLayout या Edittext पर लागू करें यह दिखाई नहीं देगा। आप है आवेदन की मूल विषय में इसे छोड़ दें।


3
यह वास्तव में इस विजेट का उपयोग करके ऐप में कई इनपुट शैली नहीं होने के कारण निराशा होती है, लेकिन जहां तक ​​मैं बता सकता हूं कि आप सही हैं। : /
टर्नकोल

4
वैसे, पूरे आवेदन में इसका होना आवश्यक नहीं है। आप अपनी थीम फ़ाइल में केवल एक गतिविधि के लिए इस विषय को लागू कर सकते हैं। और अपनी बाकी गतिविधियों के लिए एक और थीम बनाएं।
RexSplode

23

मुझे यकीन नहीं है कि आपकी समस्या किन कारणों से इस कोड को पूरी तरह से मेरे लिए काम करती है। मुझे लगता है कि इसका सही xml नाम स्थान ( xmlns) का उपयोग करने के साथ कुछ करना है । मुझे यकीन नहीं है कि android.support.design का उपयोग किए बिना xml नामस्थान विशेषता का समर्थन किया गया है। या यह textColorHintEditText पर आपके द्वारा उपयोग की जा रही विशेषता के साथ कुछ करना है।

लेआउट:

<android.support.design.widget.TextInputLayout
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="5dp"
    app:hintTextAppearance="@style/GreenTextInputLayout">

    <android.support.v7.widget.AppCompatEditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="test"
        android:inputType="text" />
</android.support.design.widget.TextInputLayout>

अंदाज:

<style name="GreenTextInputLayout" parent="@android:style/TextAppearance">
    <item name="android:textColor">#00FF00</item>
</style>

2
यह अभी भी मेरे जैसे काम करता है। मेरे पास समस्या यह है कि उपयोगकर्ता EditText को छूने से पहले, EditText का रंग सफेद है। जब उपयोगकर्ता EditText को छूता है, तो TextInputLayout लेबल हरा होता है और ठीक काम करता है।
सामिआमहरिस

यहाँ एक ही समस्या @ user3520299, किसी भी भाग्य एक तय ढूँढने?
अहमद

मेरा एक अनोखा मामला था क्योंकि मूल दृश्य में एक थीम सेट था जो समस्या पैदा कर रहा था। लेकिन मैंने जो कोड डाला वह अब ठीक काम करता है जब मैंने उस एक थीम को हटा दिया
सैमियाहार्मिस 19

1
यह फ़्लोटिंग संकेत के लिए काम करता है, लेकिन खाली EditText नियंत्रण के अंदर संकेत नहीं। उसके लिए, @ mbelsky के जवाब के
रिचर्ड ले

वैसे, डिफ़ॉल्ट ऐप्लिकेशन: hintTextAppearance शैली है @style/TextAppearance.Design.Hint, आप का उपयोग करने के लिए अपने रूप में है कि चाहते हो सकता है तो parentबजाय @android:style/TextAppearanceया@style/TextAppearance.AppCompat
rockgecko

19

नीचे दिए गए कोड का संदर्भ लें जो मेरे लिए काम करता है। लेकिन यह आपके सभी नियंत्रण रंग को प्रभावित करेगा।

 <!-- In your style.xml file -->
    <style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
            <!--EditText hint color-->
            <item name="android:textColorHint">@color/default_app_white</item>
           <!-- TextInputLayout text color-->
            <item name="colorControlActivated">@color/default_app_green</item>
            <!-- EditText line color when EditText on-focus-->
            <item name="colorControlHighlight">@color/default_app_green</item>
            <!-- EditText line color when EditText  in un-focus-->
            <item name="colorControlNormal">@color/default_app_white</item>
        </style>

इसे स्वीकार किया जाना चाहिए - यह दिखाता है कि कौन से गुण महत्वपूर्ण तत्वों में से प्रत्येक के लिए उपयोग किए जाते हैं।
रिचर्ड ले मेसियर


14

बहुत सारे उत्तर लेकिन इसके लिए केवल एक पंक्ति की आवश्यकता है:

एंड्रॉयड: textColorHint = "# 000000"

    <EditText
        android:id="@+id/edtEmail"
        android:textColorHint="#000000"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

10

Android: textColorHint = "# FFFFFF" कभी-कभी काम करता है और कुछ समय में नहीं। मेरे लिए नीचे समाधान पूरी तरह से काम करता है

नीचे दिए गए कोड को आज़माएं यह आपके XML फ़ाइल में काम करता है और TextLabel विषय style.xml में परिभाषित किया गया है

 <android.support.design.widget.TextInputLayout
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:theme="@style/MyTextLabel">

     <EditText
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:hint="Floating Label"
         android:id="@+id/edtText"/>

 </android.support.design.widget.TextInputLayout>

स्टाइल्स फोल्डर टेक्स्टलेबेल कोड में

 <style name="MyTextLabel" parent="TextAppearance.AppCompat">
    <!-- Hint color and label color in FALSE state -->
    <item name="android:textColorHint">@color/Color Name</item> 
<!--The size of the text appear on label in false state -->
    <item name="android:textSize">20sp</item>
    <!-- Label color in TRUE state and bar color FALSE and TRUE State -->
    <item name="colorAccent">@color/Color Name</item>
    <item name="colorControlNormal">@color/Color Name</item>
    <item name="colorControlActivated">@color/Color Name</item>
 </style>

अगर आप सिर्फ झूठे राज्य में लेबल का रंग बदलना चाहते हैं तो colorAccent, colorControlNormal और colorControlActivated की आवश्यकता नहीं है


10

आप मेरे android:textColorHint="@color/color_black"अंदर TextInputlayoutकाम कर सकते हैं ।

<android.support.design.widget.TextInputLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="@dimen/dp_10"
                android:textColorHint="@color/color_black"
                app:hintTextAppearance="@style/TextLabel">

                <EditText
                    android:id="@+id/et_state"
                    style="@style/profile_editTextStyle"

                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="@string/billingState"
                    android:text="@string/billingState"
                     />
            </android.support.design.widget.TextInputLayout>

8

इसके अनुसार: https://code.google.com/p/android/issues/detail?id=176559

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

<android.support.design.widget.TextInputLayout
    android:textColorHint="#A7B7C2"
    android:layout_width="match_parent"
    android:layout_height="50dp">

    <EditText
        android:id="@+id/et_confirm_password"
        android:textColor="@android:color/black"
        android:hint="Confirm password"
        android:inputType="textPassword"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
 </android.support.design.widget.TextInputLayout>

यह 23.1.1 में काम करता है


6

साथ सामग्री घटक पुस्तकालय आप अनुकूलित कर सकते हैं TextInputLayoutका उपयोग कर संकेत पाठ का रंग:

  • लेआउट में:

    • app:hintTextColor विशेषता: लेबल का रंग जब यह ढह जाता है और पाठ क्षेत्र सक्रिय होता है
    • android:textColorHint विशेषता: अन्य सभी टेक्स्ट फ़ील्ड स्टेट्स में लेबल का रंग (जैसे कि आराम करना और अक्षम करना)

कुछ इस तरह:

<com.google.android.material.textfield.TextInputLayout
     app:hintTextColor="@color/mycolor"
     android:textColorHint="@color/text_input_hint_selector"
     .../>

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


5

ऐसा लगता है कि माता-पिता के दृश्य में 3rd पार्टी लाइब्रेरी के लिए एक शैली थी जो EditText को सफेद करने का कारण बन रही थी।

android:theme="@style/com_mixpanel_android_SurveyActivityTheme"

एक बार जब मैंने इसे हटा दिया तो सबकुछ ठीक हो गया।


5

कोशिश करो यह मदद हो सकती है

      edittext.addTextChangedListener(new  TextWatcher() {

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            // TODO Auto-generated method stub
            Toast.makeText(getApplicationContext(), "onTextChanged", 2000).show();;
            //newuser.setTextColor(Color.RED);
            edittext.setHintTextColor(Color.RED);

        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {
            // TODO Auto-generated method stub

        }

        @Override
        public void afterTextChanged(Editable s) {
            // TODO Auto-generated method stub
            Toast.makeText(getApplicationContext(), "afterTextChanged", 2000).show();;

        }
    });

आपने इसे onTextChanged श्रोता में क्यों रखा है?
user25

5

देर से लेकिन यह किसी ऐसे व्यक्ति की मदद कर सकता है जो मैंने ऐसा किया है

<android.support.design.widget.TextInputLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:layout_marginLeft="30dp"
        android:layout_marginStart="30dp"
        android:textColorHint="#8cffffff">

        <android.support.v7.widget.AppCompatEditText
            android:id="@+id/email_edit"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/security_email"
            android:inputType="textEmailAddress"
            android:textColor="@color/white"
            app:backgroundTint="#8cffffff" />
    </android.support.design.widget.TextInputLayout>

4
<item name="colorAccent">@android:color/black</item>

अपने थीम के अंदर अपने इच्छित रंग के अनुसार अपना रंग बदलें, इससे आपकी EditText लाइन, Cursor के साथ-साथ आपके संकेत भी बदल जाएंगे

या आप इस शैली को अपनी शैली के अंदर भी शामिल कर सकते हैं। xml

<style name="TextLabel" parent="TextAppearance.AppCompat">
    <!-- Hint color and label color in FALSE state -->
    <item name="android:textColorHint">@android:color/black</item>
    <item name="android:textSize">20sp</item>
    <!-- Label color in TRUE state and bar color FALSE and TRUE State -->
    <item name="colorAccent">@android:color/black</item>
    <item name="colorControlNormal">@android:color/black</item>
    <item name="colorControlActivated">@android:color/black</item>
</style>

फिर अपने TextInputLayout के अंदर आप इसे इस तरह डाल सकते हैं

<android.support.design.widget.TextInputLayout
            android:id="@+id/input_layout_password"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:theme="@style/TextLabel">
            <EditText
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:drawableLeft="@drawable/password"
                android:drawableStart="@drawable/password"
                android:maxLines="1"
                android:hint="password"
                android:inputType="textWebPassword" />

        </android.support.design.widget.TextInputLayout>

3
        <android.support.design.widget.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <EditText
                android:id="@+id/name"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Name"
                android:textColor="@color/black"
                android:textColorHint="@color/grey"/>
        </android.support.design.widget.TextInputLayout>

EditText के लिए Hint रंग के रूप में इच्छित रंग सेट करने के लिए textColorHint का उपयोग करें। बात यह है कि EditText में संकेत तब गायब हो जाता है जब आप कुछ टाइप करते हैं, लेकिन तुरंत जब EditText को फोकस किया जाता है (शांत एनीमेशन के साथ)। जब आप फ़ोकस स्विच और एडिटटेक्स्ट पर जाते हैं तो आपको यह स्पष्ट रूप से दिखाई देगा।


3

प्रलेखन से:

संकेत TextTputLayout पर होना चाहिए, बजाय EditText पर। यदि कोई संकेत XML में बच्चे EditText पर निर्दिष्ट किया गया है, तो TextInputLayout अभी भी सही तरीके से काम कर सकता है; TextInputLayout इसके अस्थायी लेबल के रूप में EditText के संकेत का उपयोग करेगा। हालाँकि, भविष्य के संकेत कॉल को संशोधित करने के लिए TextInputLayout के संकेत को अपडेट नहीं करेंगे। अनपेक्षित व्यवहार से बचने के लिए, EditText के बजाय, SetHint (CharSequence) और GetHint () TextInputLayout पर कॉल करें।

इसके स्थान पर सेटिंग android:hintऔर app:hintTextColorचालू TextInputLayoutकरने का प्रयास करें TextInputEditText



1
 <android.support.design.widget.TextInputLayout
        android:id="@+id/input_layout_passdword"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textColorHint="#d3d3d3">
        <EditText
            android:id="@+id/etaddrfess_ciwty"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@android:color/transparent"
            android:bottomLeftRadius="10dp"
            android:bottomRightRadius="50dp"
            android:fontFamily="@font/frutiger"
            android:gravity="start"
            android:hint="@string/address_city"
            android:padding="10dp"
            android:textColor="#000000"
            android:textColorHint="#000000"
            android:textSize="14sp"
            android:topLeftRadius="10dp"
            android:topRightRadius="10dp" />
    </android.support.design.widget.TextInputLayout>``

0

नीचे दिए गए कोड का प्रयास करें:

उच्च प्रकाश रंग सफेद है:

 <android.support.design.widget.TextInputLayout
        android:id="@+id/input_layout_mobile"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/TextStyle"
        >

        <EditText
            android:id="@+id/input_mobile"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:singleLine="true"
            android:drawablePadding="14dp"
            android:drawableLeft="8dp"
            android:textColor="@color/white"
            android:hint="Mobile" />
    </android.support.design.widget.TextInputLayout>

शैली: पाठ शैली

    <style name="TextStyle" parent="TextAppearance.AppCompat">
    <!-- Hint color and label color in FALSE state -->
    <item name="android:textColorHint">@color/white</item>
    <item name="android:textSize">20sp</item>
    <!-- Label color in TRUE state and bar color FALSE and TRUE State -->
    <item name="colorAccent">@color/white</item>
    <item name="colorControlNormal">@color/white</item>
    <item name="colorControlActivated">@color/white</item>
     </style>

0

यहाँ इस तरह के मुद्दे और आवश्यक समाधान के साथ मेरा अनुभव है।

आवश्यकता:

  • अनुकूलित बनाने की आवश्यकता है TextInputEditText(कह सकते हैं कि कुछ को पारदर्शी होना चाहिए और कुछ को अलग-अलग घटनाओं के लिए कस्टम रंगों का उपयोग नहीं करना चाहिए)

समस्या का सामना करना पड़ा:

  • android:textColorHint आवश्यकतानुसार काम नहीं कर रहा है।

समाधान की कोशिश की गई, जो विफल रही:

  • android:textColorHintशैली में उपयोग किया जाता है और इसे लागू किया जाता है TextInputEditText। कोई परिणाम या अंतर नहीं।
  • android:textColorHintआवेदन के विषय में निर्धारित आवेदन। इसने मदद की लेकिन यह अब पूरे आवेदन के लिए निर्धारित किया गया था। (आवश्यकता के लिए अप-मार्क नहीं)

बहुत सारे RnD के बाद, सबसे अच्छा SOLUTION मिला एक लेख में था, जिसमें बताया गया था कि हमें विषय को लागू करने की आवश्यकता है TextInputLayoutया इसके बजाय इसे माता-पिता के विचार पर लागू करना है और इसके बाद ही TextInputEditTextइसे माता-पिता के दृष्टिकोण पर लागू करना है।

कृपया TextInputLayout उचित थेमिंग की जांच करें जिसमें बताया गया था कि हम कैसे गलत रास्ते पर हैं।


0

जब मैंने TextInputLayout में थीम विशेषता सेट करने का प्रयास किया, तो थीम को उसके चाइल्ड व्यू एडिटेक्स पर भी लागू किया जा रहा था, जो वह नहीं चाहता था।

तो मेरे लिए काम करने वाला समाधान TextInputLayout की "app: hintTextAppearance" संपत्ति में एक कस्टम शैली जोड़ना था।

Style.xml में निम्न शैली जोड़ें:

<style name="TextInputLayoutTextAppearance" parent="TextAppearance.AppCompat">
    <item name="android:textColor">@color/text_color</item>
    <item name="android:textSize">@dimen/text_size_12</item>
</style>

और इस शैली को नीचे दिए गए TextInputLayout की "app: hintTextAppearance" संपत्ति पर लागू करें:

<com.google.android.material.textfield.TextInputLayout
        android:id="@+id/mobile_num_til"
        android:layout_width="0dp"
        android:layout_height="@dimen/dim_56"
        app:layout_constraintStart_toStartOf="@id/title_tv"
        app:layout_constraintEnd_toEndOf="@id/title_tv"
        app:layout_constraintTop_toBottomOf="@id/sub_title_tv"
        android:layout_marginTop="@dimen/dim_30"
        android:padding="@dimen/dim_8"
        app:hintTextAppearance="@style/TextInputLayoutTextAppearance"
        android:background="@drawable/rect_round_corner_grey_outline">

        <com.google.android.material.textfield.TextInputEditText
            android:id="@+id/mobile_num_et"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:hint="@string/mobile_number"
            android:gravity="center_vertical"
            android:background="@android:color/transparent"/>

    </com.google.android.material.textfield.TextInputLayout>

0

यदि आप नए androidx मटीरियल डिज़ाइन लाइब्रेरी का उपयोग कर रहे हैं, com.google.android.material तो आप कलरस्टेलिस्ट का उपयोग फ़ोकस, होवरेड और डिफॉल्ट अवस्था में निम्न प्रकार से हिंट टेक्स्ट कलर को नियंत्रित करने के लिए कर सकते हैं। (से प्रेरित इस )

में res/color/text_input_box_stroke.xmlनिम्नलिखित की तरह डाल कुछ:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="#fcc" android:state_focused="true"/>
    <item android:color="#cfc" android:state_hovered="true"/>
    <item android:color="#ccf"/>
</selector>

फिर अपने में styles.xmlडाल देंगे:

<style name="MtTILStyle" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense">
    <item name="boxStrokeColor">@color/text_input_box_stroke</item>
    <item name="hintTextColor">@color/text_input_box_stroke</item>
</style>

अंत में अपनी शैली को वास्तविक रूप में इंगित करें TextInputLayout किसी कारण से आपको android:textColorHintसंकेत के डिफ़ॉल्ट पाठ रंग के लिए भी सेट करने की आवश्यकता है :

<com.google.android.material.textfield.TextInputLayout
    android:id="@+id/my_layout_id"
    style="@style/LoginTextInputLayoutStyle"
    android:textColorHint="#ccf"
    ...

0

यदि आप सामग्री डिजाइन पुस्तकालय का उपयोग कर रहे हैं। वर्तमान में, मैं संस्करण का उपयोग कर रहा हूं

कार्यान्वयन 'com.google.android.material: सामग्री: 1.3.0-अल्फा 01'

1 - TextInputLayout आराम कर रहा है जब रंग सेट करें।

<item name="android:textColorHint">@color/your_color_hint</item>

2 - TextInputLayout फ़्लोटिंग / फ़ोकस / टैप किए जाने पर रंग सेट करें।

<item name="hintTextColor">@color/your_color_floating_hint</item>

3 - TextInputLayout के तहत लाइन का रंग सेट करें।

<item name="boxStrokeColor">@color/TextViewColor_line</item>

4 - TextInputLayout के तहत त्रुटि का रंग सेट करें।

<item name="boxStrokeErrorColor">@color/colorPrimary</item>

0

मैं केवल लेबल रंग बदलना चाहता था जब इसे ऊपर उठाया जाता है। लेकिन सेटिंग textColorHintहर राज्य में रंग बदलती है। तो, यह मेरे लिए काम किया:

   <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
       ...
        <item name="colorControlActivated">@color/colorPrimary</item>
       ...
    </style>

इनपुट केंद्रित होने पर यह रंग बदल देगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.