在代码中使用Tint着色进行更改,分别更改下划线和字体颜色(API21)
EditText.setBackgroundTintList(ColorStateList.valueOf(ContextCompat.getColor(MainActivity.this,R.color.md_deep_orange_800)));//这里是通过获取已预设的颜色的方式着色,也可如下方直接给出色彩数值
EditText.setTextColor(0xFFD84315);
设置当获取焦点时改变颜色
EditText.setOnFocusChangeListener(new android.view.View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
// 更改获取焦点时的颜色
EditText.setBackgroundTintList(ColorStateList.valueOf(ContextCompat.getColor(MainActivity.this,R.color.md_deep_orange_800)));
EditText.setTextColor(0xFFD84315);
} else {
// 失去焦点时恢复默认颜色
EditText.setBackgroundTintList(ColorStateList.valueOf(ContextCompat.getColor(MainActivity.this,R.color.md_blue_grey_500)));
EditText.setTextColor(0xFF607D8B);
}
}
});