在没有onClickListener的日历视图中突出显示特定日期

问题描述 投票:2回答:1

是否有一种很好的方法可以在android中的日历视图中突出显示特定/不同的日期?谢谢!

android highlighting android-calendar
1个回答
0
投票
private void setCustomResourceForDates() {

        Calendar cal = Calendar.getInstance();
        //highlighlighting the holidays in a month taking the static dates
        ArrayList<String> dates = new ArrayList<String>();
        dates.add("02-08-2015");
        dates.add("22-08-2015");
        dates.add("17-09-2015");
        dates.add("25-09-2015");
        dates.add("27-09-2015");
        dates.add("13-10-2015");
        dates.add("22-10-2015");
        SimpleDateFormat myFormat = new SimpleDateFormat("dd-MM-yyyy");
        Date date = new Date();
        for (int i = 1; i < dates.size(); i++) {
            inputString2 = dates.get(i);
            inputString1 = myFormat.format(date);

            try {
                //Converting String format to date format
                date1 = myFormat.parse(inputString1);
                date2 = myFormat.parse(inputString2);
                //Calculating number of days from two dates
                long diff = date2.getTime() - date1.getTime();
                long datee = diff / (1000 * 60 * 60 * 24);
                //Converting long type to int type
                day = (int) datee;
            } catch (ParseException e) {
                e.printStackTrace();
            }
            cal = Calendar.getInstance();
            cal.add(Calendar.DATE, day);
            holidayDay = cal.getTime();
            colors();

        }
    }

    public void colors() {
        if (caldroidFragment != null) {
            caldroidFragment.setBackgroundResourceForDate(R.color.green,
                    holidayDay);
            caldroidFragment.setTextColorForDate(R.color.white, holidayDay);
        }
    }
}

setCustomResourceForDates();方法上调用onCreate(在Caldroid日历中)。

© www.soinside.com 2019 - 2024. All rights reserved.