1

現在、単純なフォームを作成しており、送信ボタンをクリックする前にユーザーが必要な情報を入力していない場合、背景が赤くなるように設計しています。正しい情報を入力すると、フォームは以前の状態に戻ります。

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

問題は、白が以前とは違うように見えることです。ユーザーが入力した情報を削除せずにフォームをリセットする方法はありますか?

明確でない場合はお知らせください。詳しく説明します。

4

1 に答える 1

1

背景色を変更する代わりに、カラーフィルターを設定して削除するのはどうですか:

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);
}
于 2012-06-18T21:49:17.737 に答える