我想在CodenameOne日历中一次更改背景颜色几天。
这可能吗?有没有人可能有代码示例?
我想从列表或哈希表中获取日期(例如:01-08-2017,05-08-2017,20-08-2017),并在日历中为这些天设置不同的背景颜色。
这是我到目前为止所做的:
@Override
protected void updateButtonDayDate(Button dayButton, int currentMonth, int day) {
//Customize day values
dayButton.setText("" + day);
Style s = dayButton.getAllStyles();
s.setPaddingTop(3);
s.setPaddingBottom(3);
s.setBgColor(ColorUtil.BLUE);
s.setBgTransparency(255);
//s.setBorder(null);
}
答案 0 :(得分:0)
我假设你正在使用com.codename1.ui.Calendar
类。自定义的技巧是派生类并覆盖updateButtonDayDate
方法,您可以将特定选定日期的UIID设置为您想要的任何内容。
答案 1 :(得分:0)
我找到了以下解决方案:
要在代号日历中选择或显示多个日期,一个选项是将日期添加到列表中,并根据列表项格式化日期按钮:
cal = new Calendar() {
@Override
protected void updateButtonDayDate(Button dayButton, int currentYear, int currentMonth, int day ) {
list.add(1);
list.add(12);
list.add(13);
list.add(14);
list.add(21);
for (int day_Number : list) {
if (day_Number == day) {
dayButton.setText("" + day);
dayButton.setUIID("mycalender-day");
}
}
};
css文件包含格式样式:
mycalender-day {
border: 1px solid whitesmoke;
color:orange;
font-family: "native:MainRegular";
font-size: 7pt;
}