CompactCalendarView icon indicating copy to clipboard operation
CompactCalendarView copied to clipboard

Today and selected date circle color hide EventIndicator

Open thamays opened this issue 7 years ago • 6 comments

Today and selected date circle color hide EventIndicator so i can't see current date EventIndicator dot's

thamays avatar Jun 23 '17 04:06 thamays

Have you tried this method? https://github.com/SundeepK/CompactCalendarView/blob/master/library/src/main/java/com/github/sundeepk/compactcalendarview/CompactCalendarView.java#L164

Set calendar.shouldDrawIndicatorsBelowSelectedDays(true) to true. This will draw dots below selected days with large circles around them.

SundeepK avatar Jun 23 '17 14:06 SundeepK

not working..

                    for (int i = 0; i < scheduleList.size(); i++) {
                        compactcalendarView.addEvent(new Event(Color.parseColor(scheduleList.get(i).getColor()), Long.parseLong(scheduleList.get(i).getStartTimestamp() + "000")));
                        Log.i(TAG, "onResponse DATES: " + CommonMethod.getDateAndTimeCurrentTimeZone(Long.parseLong(scheduleList.get(i).getStartTimestamp())));
                        Log.i(TAG, "onResponse DATES: " + scheduleList.get(i).getJobId());
                    }

                    Date date = compactcalendarView.getFirstDayOfCurrentMonth();
                    displayMonth.setText(DateFormat.format("MMM", date) + ", " + DateFormat.format("yyyy", date));
                    displayTotalJob.setText("(You have " + compactcalendarView.getEventsForMonth(date).size() + " Jobs This Month)");
                    final ScheduleListAdapter adapter = new ScheduleListAdapter(json.getResult(), context, clickListener);

                    Calendar now = Calendar.getInstance();
                    adapter.getFilter().filter(String.valueOf(DateFormat.format("dd", now) + " " + DateFormat.format("MMM", now) + " " + DateFormat.format("yyyy", now)));

                    Log.i(TAG, "onResponse: Today " + DateFormat.format("dd", now) + " " + DateFormat.format("MMM", now) + " " + DateFormat.format("yyyy", now));

                    compactcalendarView.setListener(new CompactCalendarView.CompactCalendarViewListener() {
                        @Override
                        public void onDayClick(Date dateClicked) {
                            List<Event> events = compactcalendarView.getEvents(dateClicked);
                            adapter.getFilter().filter(String.valueOf(DateFormat.format("dd", dateClicked) + " " + DateFormat.format("MMM", dateClicked) + " " + DateFormat.format("yyyy", dateClicked)));
                            Log.d(TAG, "Day was clicked: " + dateClicked + " with events " + events);
                        }

                        @Override
                        public void onMonthScroll(Date firstDayOfNewMonth) {
                            Date date = compactcalendarView.getFirstDayOfCurrentMonth();
                            displayMonth.setText(DateFormat.format("MMM", date) + ", " + DateFormat.format("yyyy", date));
                            displayTotalJob.setText("(You have " + compactcalendarView.getEventsForMonth(date).size() + " Jobs This Month)");
                            adapter.getFilter().filter(DateFormat.format("MMM", date) + " " + DateFormat.format("yyyy", date));
                            Log.d(TAG, "Month was scrolled to: " + firstDayOfNewMonth.getMonth() + ", " + firstDayOfNewMonth.getYear());
                        }
                    });

                    list.setAdapter(adapter);
                    compactcalendarView.shouldDrawIndicatorsBelowSelectedDays(false);

thamays avatar Jun 26 '17 05:06 thamays

Ok, maybe I miss understood. Is this what you want? https://cloud.githubusercontent.com/assets/3941281/19624368/fd24ac36-9910-11e6-84b8-3a6e1bc5ff15.png

If so, then you need to call compactcalendarView.shouldDrawIndicatorsBelowSelectedDays(true); Let me know if you have something else in mind.

SundeepK avatar Jun 26 '17 09:06 SundeepK

        calendarView.setCurrentDayBackgroundColor(Color.BLUE);
        calendarView.setCurrentDayIndicatorStyle(CompactCalendarView.FILL_LARGE_INDICATOR);
        
        calendarView.setCurrentSelectedDayBackgroundColor(Color.GREEN);
        calendarView.setCurrentSelectedDayIndicatorStyle(CompactCalendarView.FILL_LARGE_INDICATOR);

        calendarView.setEventIndicatorStyle(CompactCalendarView.FILL_LARGE_INDICATOR);
        calendarView.addEvent(new Event(Color.RED, 1541572467000L, "test"));

I'm not sure if this is what OP means, but it seems that events are drawn at the bottom of the hierarchy. from bottom to top: Event, Current Date, Selected Date. It would be nice to be able to control that hierarchy some how.

bytespryte avatar Nov 06 '18 06:11 bytespryte

Thank you, @SundeepK Working

adnanganie avatar Aug 04 '20 10:08 adnanganie

I lost the dots when I move from one fragment to another. Current month always selected and has the dots but when I changed the month and back from another fragment than lost the dots.

compactcalendarView.shouldDrawIndicatorsBelowSelectedDays(true); this line could not help

Kaleemullah-raheemi786 avatar Sep 29 '21 02:09 Kaleemullah-raheemi786