Ich habe eine Ansicht, in der sich zwei Textfelder befinden, und der Benutzer kann die Textfarbe aus einer anderen Ansicht auf demselben Bildschirm auswählen (über das Dialogfeld).
Wenn der Benutzer die Farbe über das Dialogfeld ändert, ändere ich die Farbe des EditText
Texts und seinen Hinweis. Wenn jedoch Text verfügbar ist, EditText
nachdem der Benutzer eine andere Farbe ausgewählt hat, wird dieser Text in dieser Farbe angezeigt. Wenn ich jedoch den gesamten Text entferne, entspricht die Farbe von HintText der vorherigen Farbe.
Zum Beispiel, wenn ich derzeit eine rote Farbe im Textfeld habe und der Benutzer die grüne Farbe auswählt, damit der Text in grüner Farbe vorhanden ist. Wenn ich diesen Text entferne, wird der Hinweistext rot angezeigt, auch wenn ich die Hinweisfarbe im Code ändere . Dieses Problem tritt nur auf, wenn dort Text vorhanden ist. Wenn es leer ist und Hinweistext vorhanden ist, tritt kein Problem auf.
quelle
Antworten:
Verwenden Sie diese Option, um die Hinweisfarbe zu ändern. - -
Lösung für Ihr Problem -
quelle
Fügen Sie dies einfach in Ihre
layout
für dieEditText
:quelle
Standardfarben:
Für Farbcode:
quelle
Inside Layout Xml-Datei Wir können die Farbe des Hinweises ändern .....
Sie können * durch Farbe oder Farbcode ersetzen .
quelle
Scheint, dass EditText den HinweisTextColor nur anwendet, wenn der Text leer ist. So einfach wird die Lösung sein
Wenn Sie mehrere Felder haben, können Sie den EditText erweitern und eine Methode schreiben, die diese Logik ausführt, und stattdessen diese Methode verwenden.
quelle
Programmatisch in Java - Mindestens API v14 +
exampleEditText.setHintTextColor(getResources().getColor(R.color.your_color));
quelle
setHintTextColor(color)
funktioniert nicht, wenn es einen text gibt, AUCH wenn es ist""
.Dies ist wie die Standard-Hinweisfarbe, die für mich funktioniert hat:
editText.setHintTextColor(Color.GRAY);
quelle
Sie können anrufen,
editText.invalidate()
nachdem Sie die Hinweisfarbe zurückgesetzt haben. Das könnte Ihr Problem lösen. Tatsächlich aktualisiert das SDK die Farbe auf die gleiche Weise.quelle