android - 以编程方式为最低 API 级别 14 更改 EditText 线条颜色和 EditText 光标颜色?

标签 android

我尝试了下面的代码 fragment ,但它不适用于 API 21 以下:

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

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

最佳答案

使用这个:

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

关于android - 以编程方式为最低 API 级别 14 更改 EditText 线条颜色和 EditText 光标颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39484383/

相关文章:

Android Studio 3 库模块和特性模块的区别

java - 如何将资源文件夹中的图像加载到android listview中

java - java/android中注册监听器,一个小问题

android - 使用协程进行多次循环调用

android - 为什么 mutableSharedFlow subscriptionCount 在使用 ShareIn 时会发生变化

android - 是否可以从命令行触发 Android 堆转储?

java - 在运行整个类(class)时如何跳到另一种方法?

java - 即使在运行时请求许可后,也会出现误报 lint 许可错误

android - 检测网页是否正在 iOS 或 Android Web View 中查看?

android - 转到 ionic 框架中的特定页面