android - টেক্সটইনপুটআলআউট এর ভাসমান লেবেলের রঙ কীভাবে পরিবর্তন করবেন




android-edittext android-design-library (12)

Android.support.design.widget.TextInputLayout এ অ্যান্ড্রয়েড: টেক্সটকলার হিন্ট ব্যবহার করার চেষ্টা করেছি এটি দুর্দান্ত কাজ করে।

        <android.support.design.widget.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textColorHint="@color/colorAccent">

            <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Hello"
                android:imeActionLabel="Hello"
                android:imeOptions="actionUnspecified"
                android:maxLines="1"
                android:singleLine="true"/>

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

গুগল প্রকাশিত নতুন TextInputLayout প্রসঙ্গে, আমি কীভাবে ভাসমান লেবেলের পাঠ্যের রঙ পরিবর্তন করব?

colorControlNormal , colorControlActivated , colorControlHighLight colorControlActivated সেট করে না।

আমার এখন যা আছে:


আপনি এখানে আপনার রঙ পরিবর্তন করা উচিত

<style name="Base.Theme.DesignDemo" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorPrimary">#673AB7</item>
        <item name="colorPrimaryDark">#512DA8</item>
        <item name="colorAccent">#FF4081</item>
        <item name="android:windowBackground">@color/window_background</item>
    </style>

আমার ক্ষেত্রে আমি এই " app:hintTextAppearance="@color/colorPrimaryDark" আমার টেক্সট ইনপুটলয়েট উইজেটে যুক্ত করেছি।


আমি আপনাকে পাঠ্য ইনপুটলআউটয়ের জন্য স্টাইল থিম তৈরি করার পরামর্শ দিচ্ছি এবং কেবলমাত্র অ্যাকসেন্টের রঙ পরিবর্তন করুন। আপনার অ্যাপ্লিকেশন বেস থিমটিতে পিতামাতাকে সেট করুন:

 <style name="MyTextInputLayout" parent="MyAppThemeBase">
     <item name="colorAccent">@color/colorPrimary</item>
 </style>

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

ইঙ্গিতের রঙ পরিবর্তন করতে এবং পাঠ্যের আন্ডারলাইন রঙ সম্পাদনা করতে: colorControlAcatedated

চরিত্রের পাল্টা রঙ পরিবর্তন করতে: পাঠ্য রঙ সেকেন্ডারি

ত্রুটি বার্তার রঙ পরিবর্তন করতে: colorControlNormal

পাসওয়ার্ডের দৃশ্যমানতার বোতামের রঙিন পরিবর্তন করতে: রঙিনগ্রাউন্ড

টেক্সটইনপুটলয়েট সম্পর্কিত আরও তথ্যের জন্য http://www.zoftino.com/android-textinputlayout-tutorial টিউটোরিয়াল পড়ুন

<style name="MyAppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorControlActivated">#e91e63</item>
    <item name="android:colorForeground">#33691e</item>
    <item name="colorControlNormal">#f57f17</item>
    <item name="android:textColorSecondary">#673ab7</item>
</style>

উত্তরটি খুঁজে android.support.design:hintTextAppearance , আপনার নিজের ভাসমান লেবেলের উপস্থিতি সেট করতে android.support.design:hintTextAppearance বৈশিষ্ট্যটি ব্যবহার করুন।

উদাহরণ:

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

    <EditText
        android:id="@+id/password"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/prompt_password"/>
</android.support.design.widget.TextInputLayout>

এটি আমার জন্য কাজ করছে ..... টেক্সটইনপুটলয়েটে ইঙ্গিত রঙ যুক্ত করুন

    <android.support.design.widget.TextInputLayout
        android:textColorHint="#ffffff"
        android:id="@+id/input_layout_password"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <EditText
            android:id="@+id/edtTextPassword"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="15dp"
            android:hint="Password"
            android:inputType="textPassword"
            android:singleLine="true"
            />
    </android.support.design.widget.TextInputLayout>

ঠিক আছে, তাই, আমি এই উত্তরটি খুব সহায়ক এবং অবদানকারী সকল ব্যক্তির জন্য ধন্যবাদ পেয়েছি। কিছু যোগ করার জন্য, যদিও। গৃহীত উত্তরটি সত্যই সঠিক উত্তর ... তবে ... আমার ক্ষেত্রে, আমি সম্পাদনা app:errorEnabled="true" উইজেটের নীচে ত্রুটি বার্তাটি app:errorEnabled="true" সাথে প্রয়োগ করতে চেয়েছিলাম: ত্রুটি- app:errorEnabled="true" এবং এই একক লাইনটি আমার জীবনকে কঠিন করে তুলেছে। দেখে মনে হচ্ছে এটি android.support.design.widget.TextInputLayout জন্য আমি যে থিমটি বেছে নিয়েছি তা ওভাররাইড করে, যার android:textColorPrimary দ্বারা সংজ্ঞায়িত একটি আলাদা পাঠ্য রঙ android:textColorPrimary

শেষ পর্যন্ত আমি এডিট টেক্সট উইজেটে সরাসরি একটি পাঠ্য রঙ প্রয়োগ করেছি। আমার কোডটি এরকম কিছু দেখাচ্ছে:

styles.xml

<item name="colorPrimary">@color/my_yellow</item>
<item name="colorPrimaryDark">@color/my_yellow_dark</item>
<item name="colorAccent">@color/my_yellow_dark</item>
<item name="android:textColorPrimary">@android:color/white</item>
<item name="android:textColorSecondary">@color/dark_gray</item>
<item name="android:windowBackground">@color/light_gray</item>
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="android:textColorHint">@color/dark_gray</item>
<item name="android:colorControlNormal">@android:color/black</item>
<item name="android:colorControlActivated">@android:color/white</item>

এবং আমার উইজেট:

<android.support.design.widget.TextInputLayout
        android:id="@+id/log_in_layout_name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:errorEnabled="true">

        <EditText
            android:id="@+id/log_in_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:textColor="@android:color/black"
            android:ems="10"
            android:hint="@string/log_in_name"
            android:inputType="textPersonName" />
</android.support.design.widget.TextInputLayout>

এখন এটি পাঠ্য রঙের textColorPrimary পরিবর্তে কালো পাঠ্যের রঙ প্রদর্শন করে color


লেবেল হিসাবে ব্যবহৃত ছোট android:theme="@style/TextInputLayoutTheme" এটি প্রভাব android:theme="@style/TextInputLayoutTheme" ভাসমান লেবেলের রঙ পরিবর্তন করতে আপনার android:theme="@style/TextInputLayoutTheme" ব্যবহার করার দরকার নেই। পরিবর্তে, আপনি app:hintTextAppearance="@style/TextInputLayout.HintText" ব্যবহার করতে পারেন app:hintTextAppearance="@style/TextInputLayout.HintText" যেখানে:

<style name="TextInputLayout.HintText">
  <item name="android:textColor">?attr/colorPrimary</item>
  <item name="android:textSize">@dimen/text_tiny_size</item>
  ...
</style>

সমাধানটি কাজ করে কিনা আমাকে জানান :-)


সমর্থন লাইব্রেরির সর্বশেষ সংস্করণে (২৩.০.০+), TextInputLayout এক্সএমএলে ভাসমান লেবেলের রঙ সম্পাদনা করতে নিম্নলিখিত বৈশিষ্ট্যটি গ্রহণ করে: android:textColorHint="@color/white"


  <style name="AppTheme2" parent="AppTheme">
    <!-- Customize your theme here. -->
    <item name="colorControlNormal">#fff</item>
    <item name="colorControlActivated">#fff</item></style>    

এটি শৈলীতে যুক্ত করুন এবং টেক্সটইনপুটআলআউট থিয়ামটিকে অ্যাপ 2 এ সেট করুন এবং এটি কার্যকর হবে;)


<com.google.android.material.textfield.TextInputLayout
    android:hint="Hint"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/TextInputLayoutHint">

    <androidx.appcompat.widget.AppCompatEditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="text"
        android:maxLines="1"
        android:paddingTop="@dimen/_5sdp"
        android:paddingBottom="@dimen/_5sdp"
        android:textColor="#000000"
        android:textColorHint="#959aa6" />

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

মাঝামাঝি / মান / styles.xml

<style name="TextInputLayoutHint" parent="">
    <item name="android:textColorHint">#545454</item>
    <item name="colorControlActivated">#2dbc99</item>
    <item name="android:textSize">11sp</item>
</style>




android-textinputlayout