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

Ron*_*ane 4 android

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

editText.getBackground().setColorFilter(editTextColor, PorterDuff.Mode.SRC_IN);
editText.getBackground().mutate().setColorFilter(editTextColor,PorterDuff.Mode.SRC_ATOP);
Run Code Online (Sandbox Code Playgroud)

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

Mic*_*rte 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);
}
Run Code Online (Sandbox Code Playgroud)