我正在使用AppCompatV7来获得Android5和更低版本的外观一致性。它工作得相当好。但是,我不知道如何更改编辑文本的底线颜色和重音颜色。有可能吗?
我试图定义一个自定义的android:edittextstyle
(参见下面),但我只成功地更改了整个背景颜色或文本颜色,而没有更改底线或强调色。是否有要使用的特定属性值?我必须通过android:background
属性使用自定义的可绘制图像吗?难道不能指定一种六色颜色吗?
<style name="Theme.App.Base" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:editTextStyle">@style/Widget.App.EditText</item>
</style>
<style name="Widget.App.EditText" parent="Widget.AppCompat.EditText">
???
</style>
根据android API 21的消息来源,带有材质设计的EditTexts似乎使用了ColorControlActivated
和ColorControlNormal
。因此,我尝试在前面的样式定义中重写这些属性,但没有效果。可能appcompat没有使用它。不幸的是,我找不到与材料设计的appcompat的上一个版本的来源。
我觉得这需要一个答案,以防有人只想更改一个编辑文本。我是这样做的:
editText.getBackground().mutate().setColorFilter(ContextCompat.getColor(context, R.color.your_color), PorterDuff.Mode.SRC_ATOP);
终于,我找到了解决办法。它只是覆盖应用程序主题定义中的ColorControlActivated
、ColorControlHighlight
和ColorControlNormal
值,而不是edittext样式。然后,想想用这个主题为任何你想要的activity。下面是一个例子:
<style name="Theme.App.Base" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorControlNormal">#c5c5c5</item>
<item name="colorControlActivated">@color/accent</item>
<item name="colorControlHighlight">@color/accent</item>
</style>
问题内容: 我正在使用appcompat v7在Android 5及更低版本上获得一致的外观。效果不错。但是我不知道如何更改EditTexts的底线颜色和强调颜色。可能吗? 我试图定义一个自定义项(请参见下文),但是我仅成功更改了完整的背景色或文本色,但没有更改底线或强调色。是否有要使用的特定属性值?我必须通过android:background属性使用自定义可绘制图像吗?不能指定六种颜色吗? 根
我正在使用设计库中新的。我能够让它显示和改变浮动标签的颜色。不幸的是,实际的提示现在总是白色的。 我尝试过用XML、样式和编程方式更改hintColor,还尝试过使用android。支持v7。小装置。AppCompatiEditText但是提示始终显示白色。 这是我的和 下面是我用于的样式(我尝试将属性设置为黑色,但没有为我做任何事情):
我在中有一个,底线颜色不是我想要的,我不知道如何更改它。 这是我到目前为止所拥有的。 出于某种不起作用的奇怪原因,应该是它。
我尝试了这个解决方案,比如在主主题中添加属性,但无法改变TextInputLayout中底线的颜色,默认情况下它采用状态栏的颜色(它可能被称为primarydark),也不想在TextInputLayout下面出现错误文本时改变底线的颜色,意思是当错误发生时改变红色,当它得到焦点时应该是那个颜色
本文向大家介绍Android更改EditText下划线颜色样式的方法,包括了Android更改EditText下划线颜色样式的方法的使用技巧和注意事项,需要的朋友参考一下 前言 相信大家都知道,当使用AppCompatEditText(Edit Text)时,默认的下划线是跟随系统的#FF4081的颜色值的,通过改变这个值可以改变所有的颜色样式 有时候你想单独定义某一个界面的颜色样式,则可以这样做
然而,当我运行该应用程序时,我没有看到任何变化。更改背景本身: 将整个更改为-不是我想要的! 如何以编程方式更改、或的下划线颜色?我使用的是支持库的25.0.1版本。