2016-04-22 12 views
1

Ich muss einen Kalender mit verschiedenen Hintergrundfarben je nach dem Inhalt der Tageschaltflächen erstellen, wie kann ich die Farben beheben: unverändert bei der Auswahl eines anderen Datums mit Codenameone.codenameone: Benutzerdefinierte Kalender Schaltfläche Hintergrund

habe ich versucht, eine einfache Modifikation, aber wenn eine Taste die Farben in dem Thema, wie konfiguriert zurückdrehen zu Weiß Auswahl (i verwenden UI-Builder)

@Override 
    protected void updateButtonDayDate(Button dayButton, int year, int currentMonth, int day) { 
     //dayButton.setUIID("Container"); 
     dayButton.getAllStyles().setPaddingTop(3); 
     dayButton.getAllStyles().setPaddingBottom(3); 
     dayButton.getAllStyles().setBgColor(ColorUtil.BLUE); 
} 

Antwort

1

Versuchen setChangesSelectedDateEnabled(false) auch sicherstellen, Einstellung, dass die Taste nicht der Fall ist haben Sie eine Grenze und dass es undurchsichtig ist, indem Sie dies tun:

Style s = dayButton.getAllStyles(); 
s.setPaddingTop(3); 
s.setPaddingBottom(3); 
s.setBgColor(ColorUtil.BLUE); 
s.setBgTransparency(255); 
s.setBorder(null); 
+0

Es ist besser, aber ich habe eine Aktion Listener im Kalender festgelegt, um die Termine Liste im ausgewählten Datum aufzulisten. Die Verwendung von setChangesSelectedDateEnabled (false) wird dies nicht unterstützen. – Anas

+0

Wie kann ich den Kalender auf seinen initialen Zustand zurücksetzen? Ich denke, ich könnte es bei jeder Auswahl neu initialisieren. – Anas

+0

Egal, ich denke, ich kann einen Mechanismus entwickeln, um die letzte nicht ausgewählte Taste bei jeder neuen Auswahl zurückzusetzen. Vielen Dank. – Anas

Verwandte Themen