9

3.1Activityを含む があります。EditTextユーザー入力に基づいて、EditText 内のテキストの色を変更し (エラーの場合は赤)、テキストに問題がない場合は黒にリセットします。

1 つの問題は、アクティビティの全体的なテーマの変更に関連しています。たとえば、ライト テーマから通常のダーク テーマに変更すると、黒の背景に黒のテキストが表示されるので、データに問題がなければテキストを白にリセットする代わりに、コードを変更する必要があります。

アクティビティのテーマを変更する場合にこのコードを変更する代わりに、特定のテーマのデフォルトの EditText テキストの色をプログラムで取得する方法があるかどうか疑問に思っていたので、テキストをデフォルトの色に戻すことができます。白、黒などでハードコーディングする代わりに

4

3 に答える 3

8

R.attrを使用します。

setTextColor(android.R.attr.editTextColor)
于 2011-12-22T03:06:40.560 に答える
5

EditText.getCurrentTextColor()およびEditText.getTextColors()も、色を変更する前に取得した場合、デフォルトの色を提供します。さらに、このアプローチは3.0より前に使用できますが、android.R.attr.editTextColorを使用する場合は使用できません。

于 2012-01-16T12:37:49.513 に答える