(材质)EditText下划线颜色

时间:2016-03-02 19:49:46

标签: android material-design android-styles

我的问题是我不知道如何更改EditText的下划线颜色 - 我有LG Nexus 5( Android 6 )。

enter image description here

我想将正常的下划线颜色更改为白色。我使用了所有 params 之类的(样式):

  • colorControlNormal
  • colorControlActivated
  • colorControlHighlight
  • textColorSecondary
  • colorPrimary
  • colorPrimaryDark

e.g。

<style name="FormFont" parent="@android:style/TextAppearance.Medium">
    <item name="android:textColor">@color/white</item>
    <item name="android:textSize">@dimen/form_text_size</item>
    <item name="colorControlNormal">#c5c5c5</item>
</style>

但似乎没有任何作用(它只会在EditText聚焦时改变颜色,如上图所示)。

5 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

最有效的方法是在AppTheme样式中添加colorAccent属性,如下所示:

<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">         

<item name="colorAccent">@color/colorAccent</item>    
<item name="android:editTextStyle">@style/EditTextStyle</item>
</style>
<style name="EditTextStyle" parent="Widget.AppCompat.EditText"/>

colorAccent属性用于整个应用程序中的窗口小部件着色,因此应该用于一致性

答案 2 :(得分:0)

  

要使其在 Android 6 中运行,请在中创建自定义主题   res/values-v21/styles.xml

<style name="FormFont" parent="@android:style/TextAppearance.Medium">
    <item name="colorControlNormal">#c5c5c5</item>
</style>
<style name="FormFontWhite" parent="@android:style/TextAppearance.Medium">
    <item name="colorControlNormal">#ffffff</item>
</style>

然后在EditText

中申请
<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/FormFont"/>

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/FormFontWhite"/>

有关详细信息,请查看@reVerse answer

希望这有帮助!

答案 3 :(得分:0)

尝试使用android:backgroundTint="#yourUnderlineColor"

  

仅适用于API 21及更高版本。

答案 4 :(得分:0)

<android.support.v7.widget.AppCompatEditText
                    android:id="@+id/password"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="@string/cux_label_password"
                    android:inputType="textPassword"
                    app:theme="@style/editTextStyle" />

  <style name="editTextStyle" parent="TextAppearance.AppCompat">
        <item name="colorControlNormal">#FFFFFF</item>
        <item name="colorControlActivated">#FFFFFF</item>
        <item name="colorControlHighlight">#FFFFFF</item>

    </style>