如何更改 TextInputLayout 中未聚焦的 edittext 提示文本颜色的颜色?
How to change the colour of the unfocused edittext hinttext colour in TextInputLayout?
我需要更改 TextinputLayout
中未聚焦的 edittext hinttext colour
的颜色。我试过如下。除了未聚焦 edittext
的提示文本颜色外,一切正常。我在这里做错了什么?
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingLeft="15dp"
android:paddingRight="15dp">
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:hintTextAppearance="@style/AppTheme">
<EditText
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:hint ="Email"
android:maxLines="1"
android:textColor="#000000" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:layout_marginTop="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:hintTextAppearance="@style/AppTheme">
<EditText android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/passwordText"
android:hint="Password"
android:maxLines="1"
android:textColor="#000000"
android:inputType="textPassword"/>
</android.support.design.widget.TextInputLayout>
</LinearLayout>
我的风格:
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorAccent</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:textColorHint">@color/colorAccent</item>
<item name="android:textSize">18sp</item>
<item name="colorControlNormal">#6E6D6D</item>
</style>
上图是我的输出,如果 Email edittext 被高亮表示,密码字段 hinttextcolor 应该是灰色,如密码字段灰线。
在您的编辑文本中试试这个
android:textColorHint="@color/gray"
你可以应用反向逻辑here.Like这个:
- 从布局文件中将所有 edittext 的提示颜色设置为灰色。
- 为所有 edittext 添加 onFocusChanged 侦听器。
- 每当任何编辑文本获得焦点时,更改该文本的提示文本颜色
特定的编辑文本。
希望有用。
您只需从代码中删除一些行即可。从 styles
中删除不必要的样式并从 TextinputLayout
.
中删除 app:hintTextAppearance="@style/AppTheme"
你的style
应该是这样的。
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorAccent</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:textSize">18sp</item>
</style>
你的XML
应该是这样的。
<android.support.design.widget.TextInputLayout
android:textColorHint="#404040" // Change color as per your wish
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:hint ="Email"
android:maxLines="1"
android:textColor="#000000" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:layout_marginTop="10dp"
android:textColorHint="#404040" // Change color as per your wish
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/passwordText"
android:hint="Password"
android:maxLines="1"
android:textColor="#000000"
android:inputType="textPassword"/>
</android.support.design.widget.TextInputLayout>
我已经测试过了。它会为你工作。
请尝试以下代码:
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/mUserEmail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Email"
android:imeOptions="actionNext"
android:inputType="text"
android:maxLines="1"
android:paddingLeft="10dp"
android:textColorHint="@color/hint_color"
android:textSize="13sp" />
</android.support.design.widget.TextInputLayout>
Remove android:textColorHint tag from the style file.
这是最简单的方法。请复制+粘贴
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Description">
<android.support.design.widget.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:imeOptions="actionDone"
android:inputType="textMultiLine"/>
</android.support.design.widget.TextInputLayout>
我需要更改 TextinputLayout
中未聚焦的 edittext hinttext colour
的颜色。我试过如下。除了未聚焦 edittext
的提示文本颜色外,一切正常。我在这里做错了什么?
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingLeft="15dp"
android:paddingRight="15dp">
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:hintTextAppearance="@style/AppTheme">
<EditText
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:hint ="Email"
android:maxLines="1"
android:textColor="#000000" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:layout_marginTop="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:hintTextAppearance="@style/AppTheme">
<EditText android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/passwordText"
android:hint="Password"
android:maxLines="1"
android:textColor="#000000"
android:inputType="textPassword"/>
</android.support.design.widget.TextInputLayout>
</LinearLayout>
我的风格:
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorAccent</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:textColorHint">@color/colorAccent</item>
<item name="android:textSize">18sp</item>
<item name="colorControlNormal">#6E6D6D</item>
</style>
上图是我的输出,如果 Email edittext 被高亮表示,密码字段 hinttextcolor 应该是灰色,如密码字段灰线。
在您的编辑文本中试试这个
android:textColorHint="@color/gray"
你可以应用反向逻辑here.Like这个:
- 从布局文件中将所有 edittext 的提示颜色设置为灰色。
- 为所有 edittext 添加 onFocusChanged 侦听器。
- 每当任何编辑文本获得焦点时,更改该文本的提示文本颜色 特定的编辑文本。
希望有用。
您只需从代码中删除一些行即可。从 styles
中删除不必要的样式并从 TextinputLayout
.
app:hintTextAppearance="@style/AppTheme"
你的style
应该是这样的。
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorAccent</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:textSize">18sp</item>
</style>
你的XML
应该是这样的。
<android.support.design.widget.TextInputLayout
android:textColorHint="#404040" // Change color as per your wish
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:hint ="Email"
android:maxLines="1"
android:textColor="#000000" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:layout_marginTop="10dp"
android:textColorHint="#404040" // Change color as per your wish
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/passwordText"
android:hint="Password"
android:maxLines="1"
android:textColor="#000000"
android:inputType="textPassword"/>
</android.support.design.widget.TextInputLayout>
我已经测试过了。它会为你工作。
请尝试以下代码:
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/mUserEmail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Email"
android:imeOptions="actionNext"
android:inputType="text"
android:maxLines="1"
android:paddingLeft="10dp"
android:textColorHint="@color/hint_color"
android:textSize="13sp" />
</android.support.design.widget.TextInputLayout>
Remove android:textColorHint tag from the style file.
这是最简单的方法。请复制+粘贴
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Description">
<android.support.design.widget.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:imeOptions="actionDone"
android:inputType="textMultiLine"/>
</android.support.design.widget.TextInputLayout>