Android 如何在日历dayview中添加循环装饰器?
我正在使用Android 如何在日历dayview中添加循环装饰器?,android,calendar,Android,Calendar,我正在使用npanigrahy:Custom Calendar View显示我的自定义日历,但我的问题是如何在日历中创建的事件上添加循环项目符号?这是使用库的最佳方式。我是这样推动的: calendarView.addDecorators(new CurrentDayDecorator(this)); 这里是CurrentDayDecatator类: package com.calendar.util; import android.app.Activity; import android.
npanigrahy:Custom Calendar View
显示我的自定义日历,但我的问题是如何在日历中创建的事件上添加循环项目符号?这是使用库的最佳方式。我是这样推动的:
calendarView.addDecorators(new CurrentDayDecorator(this));
这里是CurrentDayDecatator类:
package com.calendar.util;
import android.app.Activity;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.support.v4.content.ContextCompat;
import com.calendar.MainActivity;
import com.calendar.R;
import com.prolificinteractive.materialcalendarview.CalendarDay;
import com.prolificinteractive.materialcalendarview.DayViewDecorator;
import com.prolificinteractive.materialcalendarview.DayViewFacade;
import java.util.Calendar;
import java.util.Collection;
import java.util.Date;
/**
* Created by Navruz on 17.06.2016.
*/
public class CurrentDayDecorator implements DayViewDecorator {
private Drawable drawable;
CalendarDay currentDay = CalendarDay.from(new Date());
public CurrentDayDecorator(Activity context) {
drawable = ContextCompat.getDrawable(context, R.drawable.first_day_month);
}
@Override
public boolean shouldDecorate(CalendarDay day) {
return day.equals(currentDay);
}
@Override
public void decorate(DayViewFacade view) {
view.setSelectionDrawable(drawable);
}
}
这是一个可以画的圆圈,叫做第一天,第一个月
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:exitFadeDuration="@android:integer/config_shortAnimTime">
<item android:state_checked="true"
android:drawable="@drawable/selected_bg_color" />
<item android:state_pressed="true"
android:drawable="@drawable/selected_bg_color" />
<item android:drawable="@drawable/red_circle" />
红色圆圈:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:innerRadius="0dp"
android:shape="ring"
android:thicknessRatio="2"
android:useLevel="false" >
<solid android:color="@android:color/transparent" />
<stroke
android:width="2dp"
android:color="@color/selected_color" />
所选的\u背景\u颜色:
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid
android:color="@color/selected_color"/>
<size
android:width="120dp"
android:height="120dp"/>
非常感谢,我想做的是从calendarview循环每个装饰器,并确定事件数或使用计数。顺便说一句,你的想法很好。谢谢,我使用的是gradle的这个版本,即{compile'com.github.npanigrahy:Custom Calendar View:v1.0'}在这里,我无法实现接口名DayViewDecorator。请告诉我如何使用这个界面。@user2273146您好!我正在使用另一个库编译'com.prolificinteractive:material calendarview:1.4.0'`。这里是链接