当前位置: 首页 > 面试题库 >

Java使用appcompat v7更改EditText底线颜色

慕阳伯
2023-03-14
问题内容

我正在使用appcompat v7在Android 5及更低版本上获得一致的外观。效果不错。但是我不知道如何更改EditTexts的底线颜色和强调颜色。可能吗?

我试图定义一个自定义项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似乎使用colorControlActivatedcolorControlNormal。因此,我试图在以前的样式定义中覆盖这些属性,但是没有效果。appcompat可能不使用它。不幸的是,我找不到与材料设计有关的最新版本的appcompat的资源。


问题答案:

最后,我找到了解决方案。它只是由覆盖的价值colorControlActivated,colorControlHighlight并colorControlNormal在你的应用程序主题定义,而不是你的EditText风格。然后,考虑将这个主题用于你想要进行的任何活动。下面是一个示例:

<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>


 类似资料:
  • 我正在使用AppCompatV7来获得Android5和更低版本的外观一致性。它工作得相当好。但是,我不知道如何更改编辑文本的底线颜色和重音颜色。有可能吗? 我试图定义一个自定义的(参见下面),但我只成功地更改了整个背景颜色或文本颜色,而没有更改底线或强调色。是否有要使用的特定属性值?我必须通过属性使用自定义的可绘制图像吗?难道不能指定一种六色颜色吗? 根据android API 21的消息来源,

  • 我正在使用设计库中新的。我能够让它显示和改变浮动标签的颜色。不幸的是,实际的提示现在总是白色的。 我尝试过用XML、样式和编程方式更改hintColor,还尝试过使用android。支持v7。小装置。AppCompatiEditText但是提示始终显示白色。 这是我的和 下面是我用于的样式(我尝试将属性设置为黑色,但没有为我做任何事情):

  • 我在中有一个,底线颜色不是我想要的,我不知道如何更改它。 这是我到目前为止所拥有的。 出于某种不起作用的奇怪原因,应该是它。

  • 我尝试了这个解决方案,比如在主主题中添加属性,但无法改变TextInputLayout中底线的颜色,默认情况下它采用状态栏的颜色(它可能被称为primarydark),也不想在TextInputLayout下面出现错误文本时改变底线的颜色,意思是当错误发生时改变红色,当它得到焦点时应该是那个颜色

  • 本文向大家介绍Android更改EditText下划线颜色样式的方法,包括了Android更改EditText下划线颜色样式的方法的使用技巧和注意事项,需要的朋友参考一下 前言 相信大家都知道,当使用AppCompatEditText(Edit Text)时,默认的下划线是跟随系统的#FF4081的颜色值的,通过改变这个值可以改变所有的颜色样式 有时候你想单独定义某一个界面的颜色样式,则可以这样做

  • 然而,当我运行该应用程序时,我没有看到任何变化。更改背景本身: 将整个更改为-不是我想要的! 如何以编程方式更改、或的下划线颜色?我使用的是支持库的25.0.1版本。