有人可以告诉我如何将特定颜色更改为caldroid日历

时间:2016-02-12 10:02:49

标签: caldroid

我正在开发一个显示hijri日历的伊斯兰应用程序,并且还应用添加特定日期,时间,事件标题和该日期主题的事件,因此我希望在应用程序启动时显示日历,然后显示事件和#39;日期有不同的颜色。

caldroidFragment.setCaldroidListener(new CaldroidListener() {
    @SuppressWarnings("deprecation")
    @Override
    public void onSelectDate(Date date, View view) {
        // TODO Auto-generated method stub
        // caldroidFragment.setSelectedDates(date, date);
        Calendar text=Calendar.getInstance();
        text.clear();
        // text.set(Calendar.);
        int d=(int) date.getDate();
        int m=(int) date.getMonth();
        int y=(int) date.getYear();
        text.set(Calendar.YEAR, y+1900);
        text.set(Calendar.MONTH, m);
        text.set(Calendar.DATE, d);
        hijridate.setText(HijriCalendarDate.getSimpleDate(text, 0));
    }
}

enter link description here

1 个答案:

答案 0 :(得分:2)

您应该使用caldroid对象的setBackgroundDrawableForDates方法,并将日期作为键并将Drawable作为值传递给地图。像这样:

import android.graphics.drawable.ColorDrawable;

final Map<Date, Drawable> backgroundForDateMap = new HashMap<>();
final Calendar c = Calendar.getInstance();

// 1. date
c.set(2016, Calendar.MAY, 1);
backgroundForDateMap.put(c.getTime(), new ColorDrawable(Color.GREEN));

// 2. date
c.set(2016, Calendar.MAY, 2);
backgroundForDateMap.put(c.getTime(), new ColorDrawable(Color.YELLOW));

caldroidFragment.setBackgroundDrawableForDates(backgroundForDateMap);