设置editview的下划线颜色(开发日志16)

当你使用AppCompatEditText(Edit Text)时,默认的下划线是跟随系统的#FF4081的颜色值的,通过改变这个值可以改变所有的颜色样式,但是有时候你想单独定义某一个界面的颜色样式,则可以这样做:

1. 在你的build.gradle中添加最新的appcompat库

dependencies { 
   compile 'com.android.support:appcompat-v7:X.X.X' // X.X.X 为最新的版本号
  }

2. 让你的activity继承android.support.v7.app.AppCompatActivity

public class MainActivity extends AppCompatActivity {
   ...
}

3. 在任何layout.xml文件中声明您的EditText

<EditText 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:hint="Hint text"/>

4. 在styles.xml文件中声明自定义样式

<style name="MyEditText" parent="Theme.AppCompat.Light">
        <!-- AppCompatEditText默认状态状态设置底线颜色 -->
        <item name="colorControlNormal">@color/gray_ec</item>
        <!-- AppCompatEditText选择的底线颜色 -->
        <item name="colorControlActivated">@color/gray_9</item>
    </style>

color.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#6BC8EC</color>
    <color name="colorPrimaryDark">#010101</color>
    
    <color name="gray_9">#999999</color>
    <color name="gray_ec">#ECECEC</color>

</resources>

5. 通过android:theme属性将此样式应用于您的EditText

<EditText 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:hint="Hint text" 
    android:theme="@style/MyEditText"/>

效果如下:

原文地址:https://www.cnblogs.com/022414ls/p/13516452.html