以编程方式更改EditText线颜色和EditText光标颜色以获得最低API级别14?

时间:2016-09-14 07:06:25

标签: android

我曾尝试过以下代码段,但它不适用于以下API 21:

editText.getBackground().setColorFilter(editTextColor, PorterDuff.Mode.SRC_IN);
editText.getBackground().mutate().setColorFilter(editTextColor,PorterDuff.Mode.SRC_ATOP);

所以请建议我如何更改API 14。

2 个答案:

答案 0 :(得分:5)

使用此:

Drawable drawable = editText.getBackground();
drawable.setColorFilter(editTextColor, PorterDuff.Mode.SRC_ATOP);
if(Build.VERSION.SDK_INT > 16) {
    editText.setBackground(drawable);
}else{
    editText.setBackgroundDrawable(drawable);
}

答案 1 :(得分:0)

android:textCursorDrawable属性设置为 @null 会导致使用 android:textColor 作为光标颜色。< / p>

属性textCursorDrawable在API级别12及更高版本中可用。