4

ログイン画面があります。このログイン画面には、デフォルトで無効になっているボタンがあります。

ユーザーが4つの数字を入力したら、ボタンを有効にして、テキストの色を緑に変更します。
しかし、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

このコードを使用してボタンのデフォルトの色を取得します。

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

それがあなたが探しているものではない場合は、Androidプラットフォームのリソースカラーを使用して取得できます

何かのようなもの、

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());

これは単純な1行の解決策ですが、他の理由で他のボタンの色が変更されていないことに注意する必要があります。そうしないと、機能しない場合があります。

于 2015-05-13T16:31:19.283 に答える