Exemplo n.º 1
0
 public ClassroomScheduleAdepter(ScheduleDay day, IToItemScroller scroller, IFreeClassrooomsShower shower)
 {
     Data      = day;
     _scroller = scroller;
     _shower   = shower;
     _shower   = shower;
 }
Exemplo n.º 2
0
            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;
                        };
                    }
                };
            }