Bei ICS wird bei Verwendung eines Designs, das auf android:Theme.Light
basiert, der Text im Fehler-Popup bei Verwendung von setError(...)
weiß angezeigt, ebenso der Hintergrund.
Ich kann dieses Problem beheben, indem ich <item name="android:textColorPrimaryInverse">#ff000000</item>
zu meinem Theme hinzufüge. Während dies hilft, bin ich ein bisschen besorgt, dass dadurch, dass ich einen anderen Text ändere, sich textColorPrimaryInverse
von weiß zu schwarz ändert und vielleicht nicht sichtbar ist. Ich würde eher das Attribut für das EditText
ändern, das das betreffende Popup oder nur diese Aktivität anzeigt.
Erläuterung
Ich möchte eine Eigenschaft (vorzugsweise die Textfarbe) des Popups ändern, die die Fehlermeldung anzeigt, wenn der Benutzer etwas Falsches in eine EditText
eingibt.
Verwenden Sie im Code Ссылка ) oder Ссылка ). Sie gehören zur Ansicht, aber EditText erbt sie. Die zweite Methode ist einfacher, die erste ist konsistenter.
Edit: Oh, es ist eine schwierigere Frage. Vielleicht, mit EditText.setError (CharSequence Fehler, Symbol Drawable) können Sie Fehlertext auf das Symbol? Sie können SetBounds (Rect) für das Symbol festlegen, also könnte es genug groß sein. Das Symbol kann die Farbe sein, die Sie benötigen.
Aber ich benutze onKey, beforeTextChanged, onTextChanged und zeige meine eigene Fehlermeldung als Toast. Für den Toast können Sie eine übliche Ansicht verwenden.
Tags und Links android android-edittext