我有一个editText,我想将它的背景颜色设置为红色,如下所示:
RegistrationCountry.setBackgroundColor(Color.RED);
现在我想删除这种背景颜色。 问题使用:
RegistrationCountry.setBackgroundColor(Color.TRANSPARENT);
我是否会丢失Edittext大纲。
答案 0 :(得分:6)
您可以使用
RegistrationCountry.setBackgroundResource(android.R.drawable.editbox_background);
将背景设置为标准背景图像。
当您调用任何setBackgroundX()
方法时会出现问题,因为这会替换当前背景(即“大纲”),因此当您致电setBackgroundColor(Color.RED)
时用红色替换轮廓,然后用透明度替换红色。您需要做的是将红色替换为原始背景,就像上面的行一样。
答案 1 :(得分:0)
如果您只想突出显示EditText
对象,可以改为使用PorterDuff:http://developer.android.com/reference/android/graphics/PorterDuff.Mode.html。
设置颜色:
RegistrationCountry.getBackground().setColorFilter(Color.RED, PorterDuff.Mode.SRC_IN);
删除颜色:
RegistrationCountry.getBackground().clearColorFilter();
答案 2 :(得分:0)
尝试通过以下方式设置背景:
RegistrationCountry.setBackgroundResource(0);