我正在使用设计库中的新 TextInputLayout
. 我可以让它显示并更改浮动标签的颜色 . 不幸的是,实际的 EditText
提示现在总是白色的 .
我已尝试在XML,样式和编程方式中更改hintColor,并尝试使用 android.support.v7.widget.AppCompatEditText
但 EditText
提示始终显示为白色 .
这是我的 TextInputLayout
和 EditText
的XML
<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>
19 回答
在您的应用程序主题中定义
android:textColorHint
:Source
在style.xml中创建 custom 样式
然后在布局xml文件中,添加 theme 属性,如下所示
希望这有效
得到了同样的问题 . 通过将这些行放在 parent 主题中解决 .
如果你把这些
在单独的样式并将其应用于TextInputLayout或Edittext它将不会出现 . 您 HAVE 将其放在应用程序的父主题中 .
将textColorHint属性添加到编辑文本中
或者你想要的颜色
我不确定是什么导致你的问题,这个代码适合我 . 我认为这与使用正确的xml命名空间(
xmlns
)有关 . 我不确定是否支持使用没有xml名称空间属性的android.support.design . 或者它与您在EditText本身上使用的textColorHint
属性有关 .布局:
样式:
请参考下面为我工作的代码 . 但它会影响您的所有控件颜色 .
在包含EditText的TextInputLayout中,添加:
android:textColorHint =“#FFFFFF”某个时候有效,有时候也没有 . 对我来说,解决方案完美无缺
尝试使用下面的代码它在您的XML文件中,TextLabel主题在style.xml中定义
在样式文件夹TextLabel代码中
如果您只想在false状态下更改标签的颜色,则不需要colorAccent,colorControlNormal和colorControlActivated
很多答案,但只需要一行:
android:textColorHint="#000000"
你可以在
android:textColorHint="@color/color_black"
内使用android:textColorHint="@color/color_black"
它对我有用 .根据这个:https://code.google.com/p/android/issues/detail?id=176559
试试这个:
它适用于23.1.1
看起来父视图具有第三方库的样式,导致EditText为白色 .
一旦我删除了这一切一切正常 .
try this may this help
使用textColorHint将所需的颜色设置为EditText的提示颜色 . 问题是EditText中的提示不会在你输入内容时消失,而是在EditText获得焦点时立即消失(带有很酷的动画) . 当您将焦点切换到EditText时,您会清楚地注意到这一点 .
将colorAccent更改为主题中所需的颜色,这将更改EditText行,Cursor以及提示
或者您也可以在style.xml中包含此样式
然后在你的TextInputLayout中,你可以像这样
迟到但它可能会帮助我这样做的人
您必须在TextInputLayout上设置提示颜色 .
请尝试以下代码:
高光颜色为白色:
style:TextStyle