টেক্সটইনপুটআলআউট ব্যবহার করার সময় সম্পাদনা পাঠ্য ইঙ্গিত রঙ পরিবর্তন করুন


146

আমি TextInputLayoutডিজাইনের লাইব্রেরি থেকে নতুনটি ব্যবহার করছি । আমি এটি প্রদর্শন করতে এবং ভাসমান লেবেলের রঙ পরিবর্তন করতে সক্ষম হয়েছি। দুর্ভাগ্যক্রমে আসল EditTextইঙ্গিতটি এখন সর্বদা সাদা।

আমি এক্সএমএল, শৈলীগুলিতে এবং প্রোগ্রামগতভাবে হিন্ট কালার পরিবর্তন করার চেষ্টা করেছি এবং এটি ব্যবহার করার চেষ্টা করেছি android.support.v7.widget.AppCompatEditText তবে EditTextইঙ্গিতটি সর্বদা সাদা দেখায়।

এখানে আমার TextInputLayoutএবং এর জন্য আমার এক্সএমএল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>

আমি একই ত্রুটির মুখোমুখি। কোনও সম্পাদনা পাঠের স্পর্শের পরে প্রাথমিকভাবে ইঙ্গিতটি সর্বদা "সাদা" রঙ হয়, এটি আপনার দ্বারা বর্ণিত রঙ নেয় takes এখনও ঠিক করার জন্য অনুসন্ধান করা হয়।
ch3tanz

আপনি কি আলি কবিরির উত্তরটি চেষ্টা করে দেখেছেন? দেখে মনে হচ্ছে এটি আমার চেয়ে ভাল সমাধান। খনি আমার প্রকল্পের জন্য খুব নির্দিষ্ট ছিল।
সামিয়ামহরিস

আমি আমার কাস্টম থিম করেছি এবং সমস্ত রঙ স্টাইল.এক্সএমএল
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>

উৎস


@ দ্য হুংগ্রিঅ্যান্ড্রয়েডার যেখানে আপনি সম্পাদনা পাঠ্যটি ব্যবহার করেছেন সেখানে আপনি কি থিমটি অ্যাকটিভিটির থিম হিসাবে সেট করেছেন?
এমবেলস্কি

1
এটা আমার জন্য কাজ করে কিন্তু ইঙ্গিতটি রঙ টুকরা & দেখুন সৃষ্টি এ সেট না করা হয়, আমি আমার উপর ক্লিক করতে হবে EditTextজন্য ইঙ্গিতটি রঙ দৃশ্য মধ্যে সব ইনপুট উপর সেট হওয়ার ... যেটা কোনো ফিক্স এখনো পাওয়া যায় ( requestFocus()এবং performClick()দুর্ভাগ্যক্রমে কৌশলটি করবেন না)।
flawyte

1
অ্যাট্রিবিউট হিসাবে ব্যবহৃত হয়: <editText অ্যান্ড্রয়েড: ইনপুটটাইপ = "টেক্সটমલ્ટিনলাইন" অ্যান্ড্রয়েড: লাইনস = "4" অ্যান্ড্রয়েড: মাধ্যাকর্ষণ = "শীর্ষ | ডান" অ্যান্ড্রয়েড: বিন্যাস_উইথ = "ফিল_প্যারেন্ট" অ্যান্ড্রয়েড: বিন্যাস_ উচ্চতা = "ম্যাচ_পিতা" অ্যান্ড্রয়েড: ইঙ্গিত = " ইঙ্গিত পাঠ্য "অ্যান্ড্রয়েড: পাঠ্য রঙরহিন্ট =" # 919389 "/>
মাসুদ চেরাজি

75

স্টাইল.এক্সএমএলে কাস্টম শৈলী তৈরি করুন

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

তারপরে আপনার লেআউট এক্সএমএল ফাইলে নীচের মত থিম বৈশিষ্ট্য যুক্ত করুন

 <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+ এর জন্য রয়েছে
মি। ও

49

আপনার সম্পাদনা পাঠ্যে পাঠ্যরঙা হিন্টের সম্পত্তি যুক্ত করুন

android:textColorHint="#F6F6F6"

বা আপনি যে রঙ চান


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
ঠিক আছে, এটি সম্পূর্ণ প্রয়োগে থাকা দরকার নেই necessary আপনি আপনার ম্যানিফেস্ট ফাইলটিতে কেবলমাত্র একটি ক্রিয়াকলাপে এই থিমটি প্রয়োগ করতে পারেন। এবং আপনার বাকী ক্রিয়াকলাপের জন্য অন্য থিম তৈরি করুন।
রেক্সস্প্লোড

23

আমি নিশ্চিত না যে কী কারণে আপনার সমস্যার কারণ এই কোডটি আমার পক্ষে নিখুঁতভাবে কাজ করে। আমি মনে করি সঠিক এক্সএমএল নেমস্পেস ( xmlns) ব্যবহার করে এর কিছু করার আছে । আমি নিশ্চিত নই যে অ্যান্ড্রয়েড.সুফোর্ট.ডিজাইন xML নেমস্পেস অ্যাট্রিবিউট ব্যতীত সমর্থন করে কিনা। অথবা textColorHintআপনি এডিটেক্সট নিজেই ব্যবহার করছেন এমন বৈশিষ্ট্যটির সাথে এর কিছু যুক্ত রয়েছে ।

লেআউট:

<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
এটি এখনও আমার মতো কাজ করে। আমার যে সমস্যাটি হচ্ছে তা হ'ল ব্যবহারকারী এডিটেক্সট স্পর্শ করার আগে এডিটেক্সট রঙটি সাদা। ব্যবহারকারী সম্পাদনা পাঠ্য স্পর্শ করলে, টেক্সটইনপুটআলআউট লেবেলটি সবুজ এবং সূক্ষ্মভাবে কাজ করে।
সামিয়ামহরিস

এখানে একই সমস্যা @ ব্যবহারকারী 3520299, কোনও ভাগ্য একটি সমাধান খুঁজে পাচ্ছেন?
আহমেদ ডাব্লু

আমার একটি অনন্য কেস ছিল কারণ পিতামাতার ভিউতে একটি থিম সেট ছিল যা সমস্যার কারণ হয়ে দাঁড়িয়েছে। আমি যে থিমটি সরিয়েছি তার পরে আমি যে কোডটি রেখেছি তা এখন
ঠিকঠাক কাজ করে

1
এটি ভাসমান ইঙ্গিতটির জন্য কাজ করে তবে খালি এডিটেক্সট নিয়ন্ত্রণের ভিতরে থাকা ইঙ্গিতটি নয়। তার জন্য @ এমবেলস্কির উত্তর অনুসারে
রিচার্ড লে

উপায় দ্বারা, ডিফল্ট অ্যাপ্লিকেশন: hintTextAppearance স্টাইল @style/TextAppearance.Design.Hint, আপনি ব্যবহার করার জন্য আপনার যে চাইতে পারেন, যাতে parentবদলে @android:style/TextAppearanceবা@style/TextAppearance.AppCompat
rockgecko

19

নীচের কোডটি এটি আমার জন্য কাজ করে fer তবে এটি আপনার সমস্ত নিয়ন্ত্রণের রঙকে প্রভাবিত করবে।

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

এটি গ্রহণ করা উচিত - এটি গুরুত্বপূর্ণ যে উপাদানগুলির প্রত্যেকটির জন্য কোন বৈশিষ্ট্যগুলি ব্যবহৃত হয় তা দেখায়।
রিচার্ড লে ম্যাসুরিয়ার

15

এডিট টেক্সট ধারণ করে থাকা টেক্সটইনপুট লেআউটে, যুক্ত করুন:

android:textColorHint="someColor"

14

অনেক উত্তর তবে এর জন্য কেবল একটি লাইন দরকার:

অ্যান্ড্রয়েড textColorHint = "# 000000"

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

10

অ্যান্ড্রয়েড: টেক্সটকালার হিন্ট = "# এফএফএফএফএফএফ" কিছু সময় কাজ করে এবং কখনও না করে। আমার জন্য নীচে সমাধান পুরোপুরি কাজ করে

নীচের কোডটি এটি ব্যবহার করে দেখুন আপনার এক্সএমএল ফাইলে এবং টেক্সট লেবেল থিমটি স্টাইল.এক্সএমএলে সংজ্ঞায়িত করা হয়েছে

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

আপনি যদি কেবল মিথ্যা স্থানে লেবেলের রঙ পরিবর্তন করতে চান তবে রঙ অ্যাকসেন্ট, রঙ নিয়ন্ত্রণকারী সাধারণ এবং রঙকন্ট্রোল অ্যাক্টিভেটেড প্রয়োজন হয় না


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

দেখে মনে হচ্ছে পিতামাতার মতামতের কোনও তৃতীয় পক্ষের লাইব্রেরির জন্য একটি স্টাইল ছিল যা সম্পাদনা পাঠ্যকে সাদা করে তুলছিল।

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();;

        }
    });

আপনি কেন এটি টেক্সটচ্যাঞ্জড শ্রোতার মধ্যে রেখেছিলেন?
ব্যবহারকারী 25

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>

আপনার রঙ পরিবর্তন করুন আপনার থিমের অভ্যন্তরে আপনার পছন্দসই রঙে, এটি আপনার সম্পাদনা পাঠ্য রেখাটি, কার্সার পাশাপাশি আপনার ইঙ্গিতকে পরিবর্তন করবে

অথবা আপনি এই স্টাইলটি আপনার স্টাইল। 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>

তারপরে আপনার টেক্সটইনপুটলয়েটের ভিতরে আপনি এটি এটিকে রাখতে পারেন

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

সম্পাদনা পাঠের জন্য ইঙ্গিত রঙ হিসাবে আপনি যে রঙটি চান সেটি সেট করতে পাঠ্যকালীন রঙিন হিন্ট ব্যবহার করুন। জিনিসটি হ'ল এডিট টেক্সট-এ ইঙ্গিতটি অদৃশ্য হয়ে যায় যখন আপনি কোনও কিছু টাইপ করেন না, তবে তত্ক্ষণাত এডিটেক্সট ফোকাস হয়ে যায় (শীতল অ্যানিমেশন সহ)। আপনি ফোকাস দূরে সরিয়ে এডিট টেক্সট এ যখন আপনি এটি পরিষ্কারভাবে লক্ষ্য করতে হবে।


3

ডকুমেন্টেশন থেকে:

ইঙ্গিতটি সম্পাদনা পাঠের পরিবর্তে পাঠ্য ইনপুটলয়েটটিতে সেট করা উচিত। যদি এক্সএমএলে চাইল্ড এডিট টেক্সটে কোনও ইঙ্গিত নির্দিষ্ট করা থাকে তবে টেক্সট ইনপুট লেআউটটি এখনও সঠিকভাবে কাজ করতে পারে; টেক্সটইনপুটলয়েট এডিট টেক্সটের ইঙ্গিতটিকে তার ভাসমান লেবেল হিসাবে ব্যবহার করবে। তবে, ইঙ্গিতটি সংশোধন করতে ভবিষ্যতের কলগুলি পাঠ্য ইনপুটলয়আউটের ইঙ্গিতটি আপডেট করবে না। অনিচ্ছাকৃত আচরণ এড়াতে, এডিট টেক্সটের পরিবর্তে টেক্সটইনপুটআলআউটে সেটহিন্ট (চারসেকুয়েন্স) এবং getHint () কল করুন।

চালু করার পরিবর্তে 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 অনেকটা পরে, সবচেয়ে ভালো সমাধান পাওয়া একটি নিবন্ধ যা বর্ণিত যে, আমরা আবেদন করতে হবে ছিলেন থিম থেকে TextInputLayoutঅথবা এটি এর অভিভাবক দৃশ্যে বরং তারপর শুধুমাত্র আবেদন শৈলী থেকেTextInputEditText অথবা এটি এর অভিভাবক দৃশ্যে।

দয়া করে টেক্সটইনপুটটি সঠিক থিমিং যাচাই করুন যা জানায় যে আমরা কীভাবে ভুল পথে রয়েছি।


0

আমি যখন টেক্সটআইপুটলয়েআউটে থিমের বৈশিষ্ট্যটি সেট করার চেষ্টা করেছি, তখন থিমটি তার চাইল্ড ভিউ এডিটেক্সট-এও প্রয়োগ হচ্ছিল, যা আমি চাইনি।

সুতরাং যে সমাধানটি আমার পক্ষে কাজ করেছিল তা হ'ল টেক্সটইনপুটলয়েটের "অ্যাপ্লিকেশন: হিন্টটেক্সট অ্যাপিয়ারেন্স" বৈশিষ্ট্যে একটি কাস্টম শৈলী যুক্ত করা।

স্টাইলস.এক্সএমএলে নিম্নলিখিত শৈলী যুক্ত করুন:

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

এবং এই স্টাইলটি নীচে হিসাবে টেক্সটইনপুট লেআউটটির "অ্যাপ্লিকেশন: হিন্টটেক্সট অ্যাপিয়রেন্স" বৈশিষ্ট্যে প্রয়োগ করুন:

<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

আপনি যদি নতুন অ্যান্ড্রয়েডেক্স মেটেরিয়াল ডিজাইনের লাইব্রেরি 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.matory: উপাদান: 1.3.0-alpha01'

1 - টেক্সটইনপুটআলআউট বিশ্রাম নেওয়ার সময় রঙ সেট করুন।

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

2 - পাঠ্য ইনপুটলয়েট ভাসমান / ফোকাসড / আলতো চাপলে রঙ সেট করুন।

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

3 - টেক্সটআইপুটলয়েট এর আওতায় লাইনের রঙ সেট করুন।

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

4 - টেক্সটআইপুটলয়আউটের অধীনে ত্রুটির রঙ নির্ধারণ করুন।

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

0

আমি কেবলমাত্র লেবেলের রঙটি শীর্ষে উঠানোতে পরিবর্তন করতে চেয়েছিলাম। তবে সেটিং textColorHintপ্রতিটি রাজ্যে রঙ পরিবর্তন করে। সুতরাং, এটি আমার পক্ষে কাজ করেছে:

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

ইনপুট ফোকাস করা হলে এটি রঙ পরিবর্তন করবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.