Android divider color DatePicker-Dialog

8

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.

    
Armadillo 10.09.2013, 08:46
quelle

8 Antworten

14

Der folgende Ansatz funktionierte für mich. Er setzt die Teilerfarben für alle Felder (auch für am / pm)

%Vor%     
Ajit 26.04.2016, 22:01
quelle
17

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%     
Mvj 07.12.2013 12:24
quelle
11

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:

%Vor%

Ausgabe

    
Andrea Lazzarotto 25.05.2016 13:48
quelle
4

Berücksichtigen Sie:

Sie brauchen keinen neuen R.drawable.divider

Sie können schreiben:

%Vor%     
toni 18.02.2015 03:21
quelle
2

Dies hat mein Problem beim Hinzufügen von Code unterhalb des App-Designs behoben.

%Vor%     
Jaishree Rathod 30.11.2016 16:39
quelle
1

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.

    
wrecker 10.09.2013 10:48
quelle
1

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%     
user3532232 27.05.2014 08:02
quelle
1

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%     
Michael Troger 01.08.2017 13:33
quelle