【问题标题】:Android TextInput hint text colorAndroid TextInput 提示文字颜色
【发布时间】:2022-05-28 18:11:54
【问题描述】:

我有这个TextInputLayoutEditText,我的文字提示是黑色的,我想更改它。

顺便说一下,当提示在顶部时,它的颜色是白色

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

            <EditText
                android:id="@+id/password"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="@string/prompt_password"
                android:imeActionId="@+id/login"
                android:imeActionLabel="@string/action_sign_in_short"
                android:imeOptions="actionUnspecified"
                android:inputType="textPassword"
                android:maxLines="1"
                android:singleLine="true"
                android:textColor="@android:color/white"
                android:textColorHint="@android:color/white" />

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

样式

<style name="TextAppearance.App.TextInputLayout" parent="@android:style/TextAppearance">
    <item name="android:textColor">@android:color/white</item>
    <item name="android:textColorHint">@android:color/white</item>
    <item name="colorPrimary">@android:color/white</item>
    <item name="colorAccent">@android:color/white</item>
</style>

【问题讨论】:

  • 你解决了吗?
  • @josedlujan 你必须把“ android:textColorHint="@color/yourColor" ”放在“android.support.design.widget.TextInputLayout”中:

标签: java android xml android-xml


【解决方案1】:

你需要把android:textColorHint="@color/yourColor"放在TextInputLayout里面,就像这样:

<android.support.design.widget.TextInputLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:hintTextAppearance="@style/TextAppearance.App.TextInputLayout"
    android:textColorHint="@color/yourColor">

或在您的应用程序主题中:

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
    <item name="android:textColorHint">@color/yourColor</item>
</style>

【讨论】:

    【解决方案2】:
    1. 使用它来更改提示颜色。
    editText.setHintTextColor(getResources().getColor(R.color.white));
    
    1. 只需将其添加到 EditText 的布局中即可:
    android:textColorHint="#FFFFFF"
    
    1. 如果你想要这样,那么你可以做到,
    editText.addTextChangedListener(new TextWatcher() {
    
      public void onTextChanged(CharSequence arg0, int arg1, int arg2,int arg3){
        //do something
      }
    
      public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) 
      {
        //do something 
      }
    
      public void afterTextChanged(Editable arg0) {
        if(arg0.toString().length() <= 0)            
          tv.setHintTextColor(getResources().getColor(R.color.white));
      } 
    });
    

    【讨论】:

      【解决方案3】:

      你应该定义更多这样的属性:

      <style name="TextAppearance.App.TextInputLayout" parent="TextAppearance.AppCompat">
         <item name="android:textColor">@android:color/white</item>
         <item name="android:textColorHint">@android:color/white</item>
         <item name="colorPrimary">@android:color/white</item>
         <item name="colorAccent">@android:color/white</item>
      
         <item name="colorControlNormal">@color/someColor</item>
         <item name="colorControlActivated">@color/someColor</item>
         <item name="colorControlHighlight">@color/someColor</item>
      
      </style>
      

      【讨论】:

      • @KirillZotov 你定义了这三个属性吗? &lt;item name="colorControlNormal"&gt;@color/someColor&lt;/item&gt; &lt;item name="colorControlActivated"&gt;@color/someColor&lt;/item&gt; &lt;item name="colorControlHighlight"&gt;@color/someColor&lt;/item&gt;
      • 还要确保主题的父主题是TextAppearance.AppCompat。我已经更新了我的答案。请再次检查。
      • @KirillZotov 检查更新的代码,我已经更改了主题的父级。现在是TextAppearance.AppCompat
      • 是的,我什至得到了这个,谢谢。顺便说一句,我的活动中有这个主题parent="Theme.AppCompat.Light.NoActionBar"&gt;
      猜你喜欢
      • 2021-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多