Ich versuche die Farbe der blauen Teiler für einen DatePicker in einem Dialog zu ändern. Dies ist nur ein normales DialogFragment mit einem DatePicker und einer ButtonBar.
Weiß jemand, diese Teiler zu ändern, oder wenn es sogar möglich ist, den gesamten DatePicker durch einen benutzerdefinierten zu ersetzen?
Mini rant
Jetzt habe ich zu viele Antworten gesehen, die den folgenden Code vorschlagen:
%Vor%Was einfach nicht funktioniert. Habt ihr das versucht, bevor ihr diesen Code vorgeschlagen habt? It sollte perfekt funktionieren, aber es scheint nicht mit dem DatePicker zu funktionieren.
Ich löste das, indem ich das tat:
Ich habe den DatePicker
Teiler mit Reflexion geändert, indem ich " mSelectionDivider
" gefunden habe. Dann hatte ich Probleme mit dem Titelteiler, der dumm aussah, also fügte ich ein textview
über dem LinearLayout
hinzu, das die 3 datepickers
enthielt und verwendete newFragment.setTitle("");
um das Original zu entfernen.
Beispiel für Divider Drawable: Credits zu dem Typen, der das gemacht hat! :) Ссылка
Ergebnisbild & lt; -Mein Ergebnis
Beispiel:
%Vor% Ich habe diesen Code auf Ajits Antwort basiert, aber ich habe ihn für DatePicker
anstatt für TimePicker
optimiert. Außerdem habe ich einen null
check hinzugefügt, um auf der sicheren Seite zu bleiben:
Dies hat mein Problem beim Hinzufügen von Code unterhalb des App-Designs behoben.
%Vor%Ja, natürlich können Sie. Sie können diese Attribute zum Beispiel verwenden:
%Vor%Aktualisierung:
Sie können diesen benutzerdefinierten Datendichter verwenden. Es ist hochgradig anpassbar und rückwärts wettbewerbsfähig. Es verwendet grundsätzlich numberpicker und Sie können Teiler unter Verwendung der oben genannten Attribute einstellen.
Danke Mvj für die Lösung des Problems! Ich dachte nur, ich würde auch meine Implementierung Ihrer Lösung auf den Teilern der Timepickers zeigen.
%Vor%Diese Version ist für die Verwendung mit DatePicker angepasst. Während Andrea Lazzarottos Version gut funktioniert, verwendet sie eine unnötige Schleife, die dazu führt, dass die Farbänderung mehrfach angewendet wird. Neben kleineren Codeverbesserungen verwendet meine Version die Primärfarbe des App-Themas, um die Teilerfarbe anzupassen (siehe Wie kann ich die Primärfarbe von meinem App-Thema erhalten? ). Getestet mit Android 6.0 und 8.0:
%Vor%Tags und Links android android-layout datepicker colors divider