现在,我正在构建一个简单的表单,并对其进行设计,以便如果用户在单击“提交”按钮之前尚未输入必要的信息,背景将变为红色。然后,如果他们输入了正确的信息,则表单将返回到以前的状态。

// "if empty then set fields to red" checks
            if (firstLastName.getText().toString().equals("")) {
                firstLastName.setBackgroundColor(Color.RED);
            }
            else
                firstLastName.setBackgroundColor(Color.WHITE);
        }


问题在于白色显然不是以前的样子,因为它看起来有所不同。有没有一种方法可以重置表单而不删除用户输入的信息?

如果我不清楚,请告诉我,我会尽力阐述一下。

最佳答案

如何设置和删除滤色器而不是更改背景色:

if (firstLastName.getText().toString().equals("")) {
    // 0xFFFF0000 is red
    firstLastName.getBackground().setColorFilter(0xFFFF0000, PorterDuff.Mode.DARKEN);}
else {
    //Setting to null removes filter
    firstLastName.getBackground().setColorFilter(null);
}

关于android - setBackgroundColor方法,Android,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11089791/

10-10 17:07