4

我有一个登录屏幕。在这个登录屏幕中,我有一个默认禁用的按钮。

当用户输入 4 个数字时,我启用按钮并将 textcolor 更改为绿色。
但是当 4 个数字不是正确的代码时,我会清除我的编辑文本并再次禁用我的按钮。

目前这个禁用按钮的文本颜色是绿色的。如何将其设置回默认颜色?

public void onTextChanged(CharSequence s, int start, int before, int count) {
            if(s.length() >= maxLength)
            {
                btnOk.setEnabled(true);
                btnOk.setTextColor(Color.parseColor("#00B32D"));
            }

            else
            {
                btnOk.setEnabled(false);
            }


private void checkIfValid(String inputPin)
{
    if(inputPin.equals("0000"))
    {
        startActivity(new Intent(this, ShowScreenActivity.class));
        finish();
    }
    else
    {
        clearText();

      ====>   //Here i want to set my textcolor back to normal.  

        Toast.makeText(this, "Pincode foutief", Toast.LENGTH_SHORT).show();
    }
}
4

3 回答 3

8

使用此代码获取 Button 的默认颜色,

int DefaultButtonColor = btnOk.getTextColors().getDefaultColor();

如果它不是您想要的,那么您可以使用 Android Platform Resource Color

就像是,

android.R.color.secondary_text_dark

也检查别人...

于 2012-09-05T08:28:30.787 回答
2

在 onCreate() 中备份您的默认颜色;

defaultTextColor = btnOk.getTextColors().getDefaultColor();

然后放回去

btn.setTextColor(defaultTextColor);
于 2012-09-05T08:27:48.837 回答
0

如果您有另一个始终保持默认颜色的按钮,您可以将颜色修改按钮的颜色设置为该其他按钮以恢复默认颜色。代码可能是...

btnOk.setTextColor(btnCancel.getTextColors());

这是一个简单的单行解决方案,但您必须小心其他按钮颜色没有因为其他原因而被修改,否则这可能不起作用。

于 2015-05-13T16:31:19.283 回答