public override void OnFocusChange(FlexibleView flexibleView, int previousFocus, int currentFocus)
            {
                FlexibleViewViewHolder previousFocusView = flexibleView.FindViewHolderForAdapterPosition(previousFocus);

                if (previousFocusView != null)
                {
                    //Console.WriteLine($"previousFocus {previousFocus.AdapterPosition}");
                    if (previousFocusView.AdapterPosition % 2 == 0)
                    {
                        previousFocusView.ItemView.BackgroundColor = Color.Cyan;
                    }
                    else
                    {
                        previousFocusView.ItemView.BackgroundColor = Color.Yellow;
                    }
                    //previousFocus.SizeWidth = 150;
                    //previousFocus.SizeHeight = 60;
                    //NotifyItemChanged(previousFocus.AdapterPosition);
                }
                FlexibleViewViewHolder currentFocusView = flexibleView.FindViewHolderForAdapterPosition(currentFocus);

                if (currentFocusView != null)
                {
                    //Console.WriteLine($"currentFocus {currentFocus.AdapterPosition}");
                    currentFocusView.ItemView.BackgroundColor = Color.Magenta;
                    //currentFocus.SizeWidth = 200;
                    //currentFocus.SizeHeight = 100;
                    //NotifyItemChanged(currentFocus.AdapterPosition);
                }
            }
예제 #2
0
        public void OrientationHelperGetViewHolderMeasurementInOther()
        {
            tlog.Debug(tag, $"OrientationHelperGetViewHolderMeasurementInOther START");

            FlexibleViewLayoutManager manager = new FlexibleViewLayoutManagerImpl();

            Assert.IsNotNull(manager, "should be not null");
            Assert.IsInstanceOf <FlexibleViewLayoutManager>(manager, "should be an instance of testing target class!");

            var testingTarget = new OrientationHelperImpl(manager);

            Assert.IsNotNull(testingTarget, "should be not null");
            Assert.IsInstanceOf <OrientationHelper>(testingTarget, "should be an instance of testing target class!");

            using (View view = new View()
            {
                Size = new Size(100, 200)
            })
            {
                FlexibleViewViewHolder holder = new FlexibleViewViewHolder(view);

                var result = testingTarget.GetViewHolderMeasurementInOther(holder);
                tlog.Debug(tag, "GetViewHolderMeasurementInOther : " + result);
            }

            manager.Dispose();
            tlog.Debug(tag, $"OrientationHelperGetViewHolderMeasurementInOther END (OK)");
        }
예제 #3
0
        public void FlexibleViewChildHelperRemoveViewAt()
        {
            tlog.Debug(tag, $"FlexibleViewChildHelperRemoveViewAt START");

            FlexibleView owner = new FlexibleView()
            {
                Padding = new Extents(10, 10, 10, 10),
            };

            var testingTarget = new FlexibleView.ChildHelper(owner);

            Assert.IsNotNull(testingTarget, "null handle");
            Assert.IsInstanceOf <FlexibleView.ChildHelper>(testingTarget, "Should return FlexibleView.ChildHelper instance.");

            View view = new View()
            {
                Size = new Size(100, 200),
            };
            FlexibleViewViewHolder holder = new FlexibleViewViewHolder(view);

            testingTarget.AttachView(holder, 0);
            var result = testingTarget.RemoveViewAt(0);

            tlog.Debug(tag, "RemoveViewAt : " + result);

            owner.Dispose();
            view.Dispose();
            testingTarget.Dispose();
            tlog.Debug(tag, $"FlexibleViewChildHelperRemoveViewAt END (OK)");
        }
예제 #4
0
 public override void OnDestroyViewHolder(FlexibleViewViewHolder holder)
 {
     if (holder.ItemView != null)
     {
         holder.ItemView.Dispose();
     }
 }
            public override void OnBindViewHolder(FlexibleViewViewHolder holder, int position)
            {
                //Console.WriteLine($"OnBindItemView... position: {position}");
                ListItemData listItemData = mDatas[position];

                ListItemView listItemView = holder.ItemView as ListItemView;

                listItemView.Name = "Item" + position;
                //Random rd = new Random();
                listItemView.SizeWidth  = 150;
                listItemView.SizeHeight = 60;
                if (listItemView != null)
                {
                    listItemView.MainText = String.Format("{0:D2}", position) + " : " + listItemData.TextString;
                }
                listItemView.Margin = new Extents(2, 2, 2, 2);
                if (position % 2 == 0)
                {
                    listItemView.BackgroundColor = Color.Cyan;
                }
                else
                {
                    listItemView.BackgroundColor = Color.Yellow;
                }
            }
        public void FlexibleViewLayoutManagerOnFocusSearchFailed()
        {
            tlog.Debug(tag, $"FlexibleViewLayoutManagerOnFocusSearchFailed START");

            var testingTarget = new FlexibleViewLayoutManagerImpl();

            Assert.IsNotNull(testingTarget, "should be not null");
            Assert.IsInstanceOf <FlexibleViewLayoutManager>(testingTarget, "should be an instance of testing target class!");

            using (View view = new View()
            {
                Size = new Size(100, 200)
            })
            {
                FlexibleViewViewHolder focused = new FlexibleViewViewHolder(view);

                using (FlexibleView recyclerView = new FlexibleView()
                {
                    Padding = new Extents(10, 10, 10, 10)
                })
                {
                    FlexibleViewRecycler recycler = new FlexibleViewRecycler(recyclerView);

                    var result = testingTarget.OnFocusSearchFailed(focused, FlexibleViewLayoutManager.Direction.Down, recycler);
                    tlog.Debug(tag, "OnFocusSearchFailed : " + result);
                }
            }

            testingTarget.Dispose();
            tlog.Debug(tag, $"FlexibleViewLayoutManagerOnFocusSearchFailed END (OK)");
        }
            public override FlexibleViewViewHolder OnCreateViewHolder(int viewType)
            {
                FlexibleViewViewHolder viewHolder = new FlexibleViewViewHolder(new ListItemView());

                //Console.WriteLine($"OnCreateViewHolder... viewType: {viewType} viewID: {viewHolder.ItemView.ID}");

                return(viewHolder);
            }
 public override void OnDestroyViewHolder(FlexibleViewViewHolder holder)
 {
     //Console.WriteLine($"OnDestroyViewHolder... viewID: {holder.ItemView?.ID}");
     if (holder.ItemView != null)
     {
         holder.ItemView.Dispose();
     }
 }
예제 #9
0
        public void FlexibleViewViewHolderConstructor()
        {
            tlog.Debug(tag, $"FlexibleViewViewHolderConstructor START");

            var v = new View()
            {
                Size = new Size(100, 100),
            };
            var testingTarget = new FlexibleViewViewHolder(v);

            Assert.IsNotNull(testingTarget, "should be not null");
            Assert.IsInstanceOf <FlexibleViewViewHolder>(testingTarget, "should be an instance of testing target class!");

            tlog.Debug(tag, $"FlexibleViewViewHolderConstructor END (OK)");
        }
예제 #10
0
        public void FlexibleViewViewHolderLeft()
        {
            tlog.Debug(tag, $"FlexibleViewViewHolderLeft START");

            var v = new View()
            {
                Size = new Size(100, 100),
            };
            var testingTarget = new FlexibleViewViewHolder(v);

            Assert.IsNotNull(testingTarget, "should be not null");
            Assert.IsInstanceOf <FlexibleViewViewHolder>(testingTarget, "should be an instance of testing target class!");
            Assert.AreEqual(testingTarget.Left, 0, "should be equal.");

            tlog.Debug(tag, $"FlexibleViewViewHolderLeft END (OK)");
        }
예제 #11
0
        public void FlexibleViewItemTouchEventArgsTouchedView()
        {
            tlog.Debug(tag, $"FlexibleViewItemTouchEventArgsTouchedView START");

            var testingTarget = new FlexibleViewItemTouchEventArgs();

            Assert.IsNotNull(testingTarget, "null handle");
            Assert.IsInstanceOf <FlexibleViewItemTouchEventArgs>(testingTarget, "Should return FlexibleViewItemTouchEventArgs instance.");

            using (View view = new View()
            {
                Size = new Size(100, 200)
            })
            {
                FlexibleViewViewHolder holder = new FlexibleViewViewHolder(view);
                testingTarget.TouchedView = holder;
                tlog.Debug(tag, "TouchedView : " + testingTarget.TouchedView);
            }

            tlog.Debug(tag, $"FlexibleViewItemTouchEventArgsTouchedView END (OK)");
        }
예제 #12
0
            public override void OnFocusChange(FlexibleView flexibleView, int previousFocus, int currentFocus)
            {
                FlexibleViewViewHolder previousFocusView = flexibleView.FindViewHolderForAdapterPosition(previousFocus);

                if (previousFocusView != null)
                {
                    if (previousFocusView.AdapterPosition % 2 == 0)
                    {
                        previousFocusView.ItemView.BackgroundColor = Color.Cyan;
                    }
                    else
                    {
                        previousFocusView.ItemView.BackgroundColor = Color.Yellow;
                    }
                }
                FlexibleViewViewHolder currentFocusView = flexibleView.FindViewHolderForAdapterPosition(currentFocus);

                if (currentFocusView != null)
                {
                    currentFocusView.ItemView.BackgroundColor = Color.Magenta;
                }
            }
예제 #13
0
            public override FlexibleViewViewHolder OnCreateViewHolder(int viewType)
            {
                FlexibleViewViewHolder viewHolder = new FlexibleViewViewHolder(new ListItemView());

                return(viewHolder);
            }
예제 #14
0
 internal override FlexibleViewViewHolder OnFocusSearchFailed(FlexibleViewViewHolder focused, FlexibleViewLayoutManager.Direction direction, FlexibleViewRecycler recycler)
 {
     return(base.OnFocusSearchFailed(focused, direction, recycler));
 }
예제 #15
0
 public override void OnViewDetachedFromWindow(FlexibleViewViewHolder holder)
 {
     //Console.WriteLine($" --Detached: {holder.AdapterPosition}");
 }
예제 #16
0
 public override float GetViewHolderMeasurementInOther(FlexibleViewViewHolder holder)
 {
     return(holder.Bottom - holder.Top);
 }
예제 #17
0
 internal override void OffsetChild(FlexibleViewViewHolder holder, int offset)
 {
     throw new NotImplementedException();
 }
예제 #18
0
 public override float GetViewHolderStart(FlexibleViewViewHolder holder)
 {
     throw new NotImplementedException();
 }