据我所知,Google的AppCompat库并不总是获得实现实质性功能的方法,因此,大多数效果都是手动实现的
实际上,问题是如何以编程方式更改底部AppCompatEditText
的线条颜色?是否有方法更改它,还是只需要为每个小部件的状态保留几个背景图像?
有点离题:底线是什么?它是预生成的九页还是类似于XML可绘制的东西?
UPD:其中一个解决方案是这样的,但它不适用于ICS。
EditText et = ...;
Drawable back = et.getBackground();
back.setColorFilter(NEEDED_CLR, PorterDuff.Mode.SRC_ATOP);
et.setBackground(back); //requires API 16
对于ICS有什么可选的程序吗?
发布于 2015-08-14 09:13:12
您可以使用edittext.setBackgroundDrawable(background)
EditText text = (EditText) findViewById(R.id.txt_test);
Drawable background = text.getBackground();
background.setColorFilter(getResources().getColor(R.color.red_A100), PorterDuff.Mode.SRC_ATOP);
int sdk = android.os.Build.VERSION.SDK_INT;
if(sdk < android.os.Build.VERSION_CODES.JELLY_BEAN) {
text.setBackgroundDrawable(background);
} else {
text.setBackground(background);
}
这项工作适用于所有api级别,但在api级别16(ICS)中不受欢迎。
https://stackoverflow.com/questions/32003679
复制相似问题