当你使用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"/>