Android 如何在TextInputLayout中更改未聚焦的edittext hinttext颜色?
我需要更改Android 如何在TextInputLayout中更改未聚焦的edittext hinttext颜色?,android,android-layout,android-textinputlayout,Android,Android Layout,Android Textinputlayout,我需要更改TextinputLayout中未聚焦的edittext-hinttext-color的颜色。我试着像下面那样。除了未聚焦的edittext的提示文本颜色外,其他一切都正常。我做错了什么 <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"
TextinputLayout
中未聚焦的edittext-hinttext-color
的颜色。我试着像下面那样。除了未聚焦的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>
上面的图像是我的输出,若电子邮件edittext突出显示,则表示密码字段hinttextcolor应为灰色,就像密码字段灰线一样 在编辑文本中尝试此操作
android:textColorHint="@color/gray"
您可以在此处应用反向逻辑。如下所示:
从布局文件中将所有edittext的提示颜色设置为灰色
将onFocusChanged侦听器添加到所有edittext
每当任何edittext聚焦时,更改该文本的提示文本颜色
特定编辑文本
希望它能起作用。您所要做的就是从代码中删除一些行。从样式中删除不必要的样式
并从文本输入布局中删除app:hinttextearance=“@style/AppTheme”
你的风格应该是这样的
<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>
<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>
从样式文件中删除android:textColorHint标记
这是最简单的方法。请复制+粘贴
<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>
检查此选项,它可能会对您有所帮助。。它运转良好。。除了未聚焦的颜色是白色。。我想要灰色@color/colorPrimary@color/colorAccent@color/colorAccent 18sp——我需要为colorPrimary使用什么颜色值。。在这里,我们没有指定任何地方为灰色。。它会如何考虑?看到更新的答案。在TextInputLayout中设置提示颜色,以解决您的问题
<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>