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




android-edittext android-support-library (14)

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

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

 <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>

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

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

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

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

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

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

<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>

EditText रखने वाले TextInputLayout में, जोड़ें:

android:textColorHint="someColor"

अपने संपादित पाठ में textColorHint गुण जोड़ें

android:textColorHint="#F6F6F6"

या जो भी रंग आप चाहते हैं


आप 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>

इसके अनुसार: 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 में काम करता है


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

android:theme="@style/com_mixpanel_android_SurveyActivityTheme"

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


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

 <!-- 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>

नीचे दिया गया कोड आज़माएं:

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

    <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>

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

 <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> 

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

लेआउट:

<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>

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

आवश्यकता:

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

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

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

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

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

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

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


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

  • लेआउट में:

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

कुछ इस तरह:

 <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>``


android:textColorHint परिभाषित करें android:textColorHint अपने आवेदन विषय में 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>

Source


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


 <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>




android-textattributes