Ich möchte die blaue Farbe unter dem Bearbeitungstext ändern, ich weiß nicht, um welche Eigenschaft es sich handelt.
Ich habe versucht, eine andere Hintergrundfarbe dafür zu verwenden, aber es hat nicht funktioniert.
Ich habe unten ein Bild angehängt:
android
login
android-edittext
AndroidEnthusiast
quelle
quelle
Antworten:
Es ist eigentlich ziemlich einfach, die Unterstreichungsfarbe eines EditText programmgesteuert festzulegen (nur eine Codezeile).
So stellen Sie die Farbe ein:
So entfernen Sie die Farbe:
Hinweis: Wenn der EditText fokussiert ist , wird die von Ihnen festgelegte Farbe nicht wirksam, sondern hat eine Fokusfarbe .
API-Referenz:
Drawable # setColorFilter
Drawable # clearColorFilter
quelle
Control.Background.SetColorFilter(Android.Graphics.Color.White, PorterDuff.Mode.SrcIn);
Renderer
überschreibst du? Ich versuche herauszufinden, wie dies für eine Suchleiste funktioniert.SearchBarRenderer
nicht vom Typ istEditText
. Kann es nicht zum Laufen bringen.Verwenden Sie
android:backgroundTint=""
in IhremEditText
XML-Layout.Für API <21 können Sie dann
AppCompatEditText
aus der Support-Bibliothek verwendenapp:backgroundTint=""
quelle
android:background="@null"
für Geräte mit API <21.Sie müssen für jeden Status des
EditText
(Fokus, aktiviert, aktiviert) ein anderes Hintergrundbild verwenden, keine Farbe .http://android-holo-colors.com/
Auf der obigen Site können Sie Bilder von vielen Komponenten des Holo-Themas erhalten. Wählen Sie einfach "EditText" und die gewünschte Farbe. Sie können eine Vorschau am unteren Rand der Seite sehen.
Laden Sie die ZIP-Datei herunter und kopieren Sie die Ressourcen in Ihr Projekt (Bilder und XML).
Wenn Ihr XML heißt: apptheme_edit_text_holo_light.xml (oder ähnliches):
Gehen Sie zu Ihrer XML "styles.xml" und fügen Sie den benutzerdefinierten
EditText
Stil hinzu:Tun Sie dies einfach in Ihrem
EditText
:Und das war's, ich hoffe es hilft dir.
quelle
Dies funktioniert gut für alte und neue Versionen von Android (funktioniert auch unter API 10!).
Definieren Sie diesen Stil in
styles.xml
:Und jetzt legen Sie dies in Ihrem XML als Thema und Stil fest ( Stil zum Festlegen
textColor
und Thema zum Festlegen aller anderen Dinge):Bearbeiten
Diese Lösung verursacht bei neueren Android-Versionen (ab Lollipop oder Marshmallow) einen winzigen UI-Fehler, bei dem die Auswahlgriffe unterstrichen sind.
Dieses Problem wird in diesem Thread behandelt . (Ich habe diese Lösung nicht persönlich ausprobiert.)
quelle
Sie können die Unterstreichung der EditText- Farbe ändern, indem Sie sie in styles.xml angeben . Fügen Sie in Ihrer App theme styles.xml Folgendes hinzu.
Wie von ana im Kommentarbereich hervorgehoben
Das Einstellen dieses Themas eignet sich gut zum Ändern der Farbe einer Edittext-Unterstreichung.
quelle
android:textColorSecondary
damit auch die Farbe des hinteren Pfeils und desDrawerLayout
Hamburger-Symbols in der ActionBar bestimmt wird.<item name="colorControlNormal">@color/edittext_underline_color</item>
Aufgrund des Farbproblems in der Navigationsleiste habe ich letztendlich anstelle von textColorSecondary verwendet.Sie müssen also eine neue XML-Datei in Ihrem Zeichenordner erstellen.
Fügen Sie in diese Datei diesen Code ein:
Und in Ihrem EditText festlegen
Sie können mit Ihrer zeichnbaren XML spielen, Ecken, Polsterungen usw. festlegen.
quelle
Definieren Sie in Ihrem App-Stil die Eigenschaft colorAccent . Hier finden Sie ein Beispiel
quelle
Sie können die Farbe von EditText programmgesteuert ändern, indem Sie einfach diese Codezeile verwenden:
edittext.setBackgroundTintList(ColorStateList.valueOf(yourcolor));
quelle
Verwenden Sie den folgenden Code, um die Hintergrundfarbe des Rahmens des Bearbeitungstextes zu ändern.
Erstellen Sie eine neue XML-Datei unter drawable.
abc.xml
und füge es als Hintergrund deines Bearbeitungstextes hinzu
quelle
Um die Farbe des Endergebnisses zu ändern, können Sie dies in Ihrem App-Thema verwenden:
Um die Farbe des schwebenden Etiketts zu ändern, schreiben Sie folgendes Thema:
und verwenden Sie dieses Thema in Ihrem Layout:
quelle
Sie können dies mit AppCompatEditText und Farbauswahl tun:
selector_edittext_underline.xml:
quelle
Wenn Sie keine Geräte mit API <21 unterstützen müssen, verwenden Sie backgroundHint in XML, zum Beispiel:
Verwenden Sie für besseren Support und Fallbacks die @ Akariuz-Lösung. backgroundHint ist die schmerzloseste Lösung, aber nicht abwärtskompatibel. Je nach Ihren Anforderungen können Sie einen Anruf tätigen.
quelle
Ändern Sie
colorAccent
die Farbe, für die diese Farbe eingestellt sein soll,colorAccent
und führen Sie die Ausgabe ausquelle
Ändern Sie einfach android: backgroundTint im XML-Code in Ihre Farbe
quelle