Calendar 在CodenameOne中设置日历单元格的背景色

Calendar 在CodenameOne中设置日历单元格的背景色,calendar,codenameone,background-color,Calendar,Codenameone,Background Color,我想在CodenameOne日历中一次性更改几天的背景色 这可能吗?有人可能有代码示例吗 我想象从列表或哈希表中获取日期(如:01-08-2017、05-08-2017、20-08-2017),并在日历中为这些天设置一个不同的背景色 以下是我到目前为止的情况: @Override protected void updateButtonDayDate(Button dayButton, int currentMonth, int day) { //Customize day va

我想在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);

}

我假设您使用的是
com.codename1.ui.Calendar
类。自定义的诀窍是派生类并覆盖
updateButtonDayDate
方法,在该方法中,您可以将特定选定日期的UIID设置为您想要的任何值。

我假设您使用的是
com.codename1.ui.Calendar
类。自定义的诀窍是派生类并覆盖
updateButtonDayDate
方法,在该方法中,您可以将特定选定日期的UIID设置为您想要的任何值。

我找到了以下解决方案:

要在代号日历中选择或显示多个日期,一个选项是将日期添加到列表中,并根据列表项设置日期按钮的格式:

 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;
}

我找到了以下解决方案:

要在代号日历中选择或显示多个日期,一个选项是将日期添加到列表中,并根据列表项设置日期按钮的格式:

 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;
}

使用这种方法,是否可以选择多个日期?你会有一个片段吗?我对编程和Java还很陌生,这是我有史以来的第一个移动应用程序,我很难想象解决方案在实践中会是什么样子。我找到了一个很好的例子(上面更新)来改变整个月的背景颜色。我将如何访问几个单独的日期?我在网上找不到任何相关内容。您可以通过调用
setUIID()
来设置当天的背景。查看《开发人员指南》中关于主题的部分,我们将在其中解释如何定义UIID。范围是您的逻辑问题,如果您选择了一个范围,则更新方法可以检查当前按钮是否在该范围内,并适当设置范围UIID。这不是一件小事,我也没有一个关于这一特性的例子。使用这种方法,可以选择多个日期吗?你会有一个片段吗?我对编程和Java还很陌生,这是我有史以来的第一个移动应用程序,我很难想象解决方案在实践中会是什么样子。我找到了一个很好的例子(上面更新)来改变整个月的背景颜色。我将如何访问几个单独的日期?我在网上找不到任何相关内容。您可以通过调用
setUIID()
来设置当天的背景。查看《开发人员指南》中关于主题的部分,我们将在其中解释如何定义UIID。范围是您的逻辑问题,如果您选择了一个范围,则更新方法可以检查当前按钮是否在该范围内,并适当设置范围UIID。这不是一件琐碎的事情,我也没有关于这一特性的例子