add CalenarFill component in your layout xml
<br.com.mirespeiti.calendarfill.calendardiario.CalendarFillView
android:id="@+id/fill_calendar"
android:layout_width="match_parent"
android:layout_height="350dp"
android:paddingBottom="20dp"
app:type_callback="both"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@id/fill_fake"
app:layout_constraintStart_toStartOf="parent"/>
configure the initial setup of Calendar Fill, through the initSetupToolbarCalendar() method
bind.fillFake.initSetupToolbarCalendar(
initMonth = Calendar.getInstance(),
datesColors = viewModel.fakeDates(Calendar.getInstance()),
notReturn = { viewModel.getFakeDates(it) },
adapter = YourCustomAdapterFill(calendarFillContext = bind.fillFake, selectedDay = Date()),
datesColors = listOf<CalendarItem>()
colors = object : ColorFill() {
// set your colors
override var selected: Int = android.R.color.holo_red_dark
override var default: Int = android.R.color.holo_green_dark
override var secondary: Int = android.R.color.holo_purple
}
)
you can create your own calendar through the abstract class CalendarFull BaseAdapter
#### has a default adapter (it's very nice), you don't need to create your own.abstract class CalendarFillBaseAdapter(
calendarFillContext: CalendarFillView,
open var colors: ColorFill = object : ColorFill() {},
open var dateColors: Array<CalendarioItem> = emptyArray(),
var currentMonth: Calendar,
var dates: List<Date> = calendarFillContext.fillDaysOnVisible(currentMonth),
@LayoutRes layout: Int = R.layout.item_calendar_adapter,
) : ArrayAdapter<Date>(calendarFillContext.context, layout, dates), CalendarFillInterface {
... ... ...
}
change the borders to a pattern you like