圈子背景的不同颜色为今天的日期

时间:2017-02-02 16:16:13

标签: android material calendarview

我在我的应用程序中使用了多产的交互式android资料calendarview。

是否可以为今天的日期设置不同的彩色圆圈背景?请注意,此颜色与选择日期颜色背景不同。我可以为选定的日期设置mcv_selectionColor。但是我想总是在今天的日期显示不同的彩色圆圈背景而不管其选择与否。我只为今天的日期创建了一个装饰器。但是这个装饰者创造了一个方形背景。

public class TodaysDateDecorator implements DayViewDecorator {

private final Drawable highlightDrawable;
private final int color = Color.parseColor("#987d48");
private CalendarDay date;

public TodaysDateDecorator() {
    highlightDrawable = new ColorDrawable(color);
    date = CalendarDay.today();
}

@Override
public boolean shouldDecorate(CalendarDay day) {
    return date != null && day.equals(date);
}

@Override
public void decorate(DayViewFacade view) {
    view.addSpan(highlightDrawable);
    view.addSpan(new ForegroundColorSpan(Color.WHITE));
}

}

1 个答案:

答案 0 :(得分:0)

根据我在文档中看到的内容,您应该能够创建自定义ColorDrawable类并覆盖get outline。

@Override
public void getOutline(@NonNull Outline outline) {
    outline.setOval(getBounds());
    outline.setAlpha(getAlpha() / 255.0f);
}