public MvxExpandableItemAdapter(IMvxAndroidBindingContext androidBindingContext)
 {
     BindingContext = androidBindingContext;
     SetHasStableIds(true);
     _expandableGroupedItemsSourceProvider = new MvxGroupedItemsSourceProvider();
     _expandableGroupedItemsSourceProvider.Source.CollectionChanged    += SourceOnCollectionChanged;
     _expandableGroupedItemsSourceProvider.ChildItemsAdded             += SourceItemChildChanged;
     _expandableGroupedItemsSourceProvider.ChildItemsRemoved           += SourceItemChildChanged;
     _expandableGroupedItemsSourceProvider.ChildItemsCollectionCleared += (group) => base.NotifyDataSetChanged();
     _expandableGroupedItemsSourceProvider.ItemsMovedOrReplaced        += () => base.NotifyDataSetChanged();
     GroupSwipeItemPinnedStateController = new SwipeItemPinnedStateControllerProvider()
     {
         UniqueIdProvider = new GroupMvxItemUniqueIdProvider(this)
     };
     ChildSwipeItemPinnedStateController = new SwipeItemPinnedStateControllerProvider()
     {
         UniqueIdProvider = new GroupChildMvxItemUniqueIdProvider(this)
     };
 }
Exemplo n.º 2
0
        public void SetupSlideAmount(MvxAdvancedRecyclerViewHolder holder, SwipeItemPinnedStateControllerProvider swipeItemPinnedStateController)
        {
            if (swipeItemPinnedStateController.ForLeftSwipe().IsPinned(holder.DataContext))
            {
                holder.SwipeItemHorizontalSlideAmount = MaxLeftSwipeAmount;
            }
            else if (swipeItemPinnedStateController.ForRightSwipe().IsPinned(holder.DataContext))
            {
                holder.SwipeItemHorizontalSlideAmount = MaxRightSwipeAmount;
            }

            if (swipeItemPinnedStateController.ForTopSwipe().IsPinned(holder.DataContext))
            {
                holder.SwipeItemVerticalSlideAmount = MaxUpSwipeAmount;
            }
            else if (swipeItemPinnedStateController.ForBottomSwipe().IsPinned(holder.DataContext))
            {
                holder.SwipeItemVerticalSlideAmount = MaxDownSwipeAmount;
            }
        }