Wie kann ich die Fokusfarbe (orange) in einem EditText-Feld ändern? Die Fokusfarbe ist ein kleiner Rand um das gesamte Steuerelement und ist hell, wenn das Steuerelement den Fokus hat. Wie kann ich die Farbe dieses Fokus auf eine andere Farbe ändern? Kann mir jemand helfen, dieses Problem zu lösen? Vielen Dank im Voraus,So ändern Sie die Fokusfarbe von EditText in Android
Antwort
Sie müssen Ihr eigenes NinePatch-Bild erstellen/ändern, um das Standardbild zu ersetzen und dieses als Hintergrund für Ihren EditText zu verwenden. Wenn Sie in Ihrem SDK-Ordner unter Ihrer Plattform res/drawbar suchen, sollten Sie das NinePatch-Bild für den EditText-Fokusstatus finden. Wenn das alles ist, was Sie ändern möchten, können Sie es einfach in Photoshop oder eine andere Bildbearbeitungssoftware ziehen und die orange Farbe in eine Farbe Ihrer Wahl ändern. Dann speichern, dass in Ihren ziehbar Ordner und den Bau einen neuen StateListDrawable, zum Beispiel so etwas wie die folgenden Liste:
edittext_modified_states.xml
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android"
>
<item
android:state_pressed="true"
android:drawable="@android:drawable/edittext_pressed"
/> <!-- pressed -->
<item
android:state_focused="true"
android:drawable="@drawable/edittext_focused_blue"
/> <!-- focused -->
<item
android:drawable="@android:drawable/edittext_normal"
/> <!-- default -->
</selector>
Ich weiß nicht ohne Weiteres der tatsächlichen Namen für den Standard NinePatches für den EditText, also ersetzen Sie diese bei Bedarf, aber der Schlüssel hier ist, nur die @android:drawable
Bilder für die zu verwenden, die Sie nicht geändert haben (oder Sie können sie in den zeichnungsfähigen Ordner Ihres Projekts kopieren), und verwenden Sie dann Ihre modifizierten Zeichen für Dein fokussierter Zustand.
können Sie dann setzen Sie diese StateListDrawable als Hintergrund für Ihre Textview, etwa so:
<TextView
android:background="@drawable/edittext_modified_states"
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android"
>
<item
android:state_pressed="true"
android:color="colorcode"
/> <!-- pressed -->
<item
android:state_focused="true"
android:color="colorcode"
/> <!-- focused -->
<item
android:color="colorcode"
/> <!-- default -->
</selector>
Dieser Code funktioniert nicht und zeigt mir diesen Fehler "02-07 03: 45: 01.131: E/AndroidRuntime (2911): Verursacht von: org.xmlpull.v1.XmlPullParserException: Binär XML-Dateizeile # 8:
try'
@andrewww create color.xml in ' res/color' Ordner und versuche 'android: color =" @ color/colorname "' –
Sie brauchen nicht xml Drawables zu erstellen. Es kann einfacher im Code sein. Beispiel in kotlin:
editText.onFocusChangeListener = OnFocusChangeListener { _, hasFocus ->
// colorLine, colorLineFocus is vars of ColorStateList
ViewCompat.setBackgroundTintList(editText, if (hasFocus) colorLineFocus else colorLine)
}
- 1. So ändern Sie den Standardwert von edittext nicht in Android
- 2. Linienfarbe von EditText ändern - Android
- 3. So ändern Sie die Farbe von Zeichenformen in Android
- 4. So erkennen Sie Emoticons in EditText in Android
- 5. So deaktivieren Sie programmierbaren Text (ohne EditText)
- 6. Vibration von Edittext in Android
- 7. EditText IME_ACTION programmgesteuert ändern
- 8. So ändern Sie die StandardschriftartFamily in reaktivennativ
- 9. So fügen Sie Unicode-Symbol in EditText von Custom Keyboard
- 10. Android: Tönungsfarbe eines einzelnen EditText ändern
- 11. Android edittext ändern popup kontextmenü style
- 12. ändern EditText Grenzfarbe
- 13. Android EditText Cursor Zeigerfarbe programmgesteuert ändern
- 14. Stil ändern android EditText aus rechteckigen Rahmen
- 15. Android: Briefe in EditText
- 16. EditText leftView Bild passen die Größe des EditText Android
- 17. So ändern Sie die Textfarbe des Schalters in Android
- 18. ändern edittext cursor farbe
- 19. Zeichenzuordnung in EditText android
- 20. So ändern Sie die Hintergrundfarbe von UIViewController
- 21. So ändern Sie die Spaltennamen von VBA
- 22. Farbe des Hinweises ändern EditText - Android
- 23. So ändern Sie die Position von grid.draw
- 24. So ändern Sie die Bildachsenbeschriftungen
- 25. Android So stellen Sie maximale "Wort" -Grenze auf EditText
- 26. Filter von EditText in Android entfernen?
- 27. Android EditText mit automatischer Erkennung von Kreditkartentyp
- 28. Android Textcursor in EditText
- 29. So ändern Sie die Dateiberechtigung in vi
- 30. So ändern Sie die Geräteausrichtung
Auf welcher Android-Version funktioniert diese Lösung? Ich habe versucht, die Farbe in Android 2.1 zu ändern, aber es scheint, dass die Namen und XML-Dateien darin unterschiedlich sind. Ich verstehe die Idee, aber die Frustration wächst, da ich ständig mit Fehlern konfrontiert bin. – zaplec
In 2.1 musste ich auch die normalen unmodifizierten Zustandsbilder in den ziehbaren Ordner der Anwendungen kopieren, um diese Arbeit zu bekommen. So habe ich in meinen applikationsfähigen Drawbaren Ordnern das modifizierte Fokuszustandsbild und auch unmodifizierte Originalzustandsbilder. Jetzt funktioniert es. – zaplec
Es funktioniert möglicherweise nicht, wie ich sagte, Sie müssen sie möglicherweise in Ihren Ordner kopieren (so wie es aussieht); Das war nur eine Lösung von ganz oben. :) – kcoppock