public ClassroomScheduleAdepter(ScheduleDay day, IToItemScroller scroller, IFreeClassrooomsShower shower) { Data = day; _scroller = scroller; _shower = shower; _shower = shower; }
public ClassroomScheduleViewHolder(View itemView, IToItemScroller scroller, IFreeClassrooomsShower shower) : base(itemView) { _textViewLesson = itemView.FindViewById <TextView>(Resource.Id.text_number_of_lesson); _listViewLessons = itemView.FindViewById <RecyclerView>(Resource.Id.classroom_schedule_list_view); itemView.FindViewById <Button>(Resource.Id.free_classroooms_button).Click += FreeClassroomsOnClick; _shower = shower; var manager = new LinearLayoutManager(itemView.Context); _listViewLessons.SetLayoutManager(manager); _listViewLessons.AddItemDecoration(new DividerItemDecoration(itemView.Context, manager.Orientation)); _listViewLessons.Visibility = ViewStates.Gone; if (itemView.Clickable) { return; } itemView.Clickable = true; itemView.Click += (sender, args) => { if (_listViewLessons.Visibility == ViewStates.Gone) { _listViewLessons.Measure(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent); _listViewLessons.Visibility = ViewStates.Visible; var mAnimator = SlideAnimator(0, _listViewLessons.MeasuredHeight); mAnimator.Start(); mAnimator.SetDuration(300); mAnimator.AnimationEnd += (o, eventArgs) => { scroller.ScrollTo(_lessonNum); }; } else { var finalHeight = _listViewLessons.Height; var mAnimator = SlideAnimator(finalHeight, 0); mAnimator.Start(); mAnimator.SetDuration(300); mAnimator.AnimationEnd += (intentSender, arg) => { _listViewLessons.Visibility = ViewStates.Gone; }; } }; }