{
public partial class LinearLayoutManager
{
- internal virtual void LayoutChunk(FlexibleView.Recycler recycler,
+ internal virtual void LayoutChunk(FlexibleViewRecycler recycler,
LayoutState layoutState, LayoutChunkResult result)
{
- FlexibleView.ViewHolder holder = layoutState.Next(recycler);
+ FlexibleViewViewHolder holder = layoutState.Next(recycler);
if (holder == null)
{
// if we are laying out views in scrap, this may return null which means there is
result.Consumed = mOrientationHelper.GetViewHolderMeasurement(holder);
float left, top, width, height;
- if (mOrientation == VERTICAL)
+ if (Orientation == VERTICAL)
{
width = Width - PaddingLeft - PaddingRight;
height = result.Consumed;
result.Focusable = true;
}
- internal override FlexibleView.ViewHolder OnFocusSearchFailed(FlexibleView.ViewHolder focused, FlexibleView.LayoutManager.Direction direction, FlexibleView.Recycler recycler)
+ internal override FlexibleViewViewHolder OnFocusSearchFailed(FlexibleViewViewHolder focused, FlexibleViewLayoutManager.Direction direction, FlexibleViewRecycler recycler)
{
if (ChildCount == 0)
{
mLayoutState.Recycle = false;
Fill(recycler, mLayoutState, true, true);
- FlexibleView.ViewHolder nextFocus;
+ FlexibleViewViewHolder nextFocus;
if (layoutDir == LayoutState.LAYOUT_START)
{
nextFocus = GetChildAt(0);
return nextFocus;
}
- private void UpdateAnchorInfoForLayout(FlexibleView.Recycler recycler, AnchorInfo anchorInfo)
+ private void UpdateAnchorInfoForLayout(FlexibleViewRecycler recycler, AnchorInfo anchorInfo)
{
if (UpdateAnchorFromPendingData(anchorInfo))
{
// Finds an anchor child from existing Views. Most of the time, this is the view closest to
// start or end that has a valid position (e.g. not removed).
// If a child has focus, it is given priority.
- private bool UpdateAnchorFromChildren(FlexibleView.Recycler recycler, AnchorInfo anchorInfo)
+ private bool UpdateAnchorFromChildren(FlexibleViewRecycler recycler, AnchorInfo anchorInfo)
{
if (ChildCount == 0)
{
return false;
}
- FlexibleView.ViewHolder anchorChild = FindFirstVisibleItemView();
+ FlexibleViewViewHolder anchorChild = FindFirstVisibleItemView();
if (anchorChild == null)
{
Log.Error("flexibleview", $"exception occurs when updating anchor information!");
// or 0 for not applicable
// @return {@link LayoutState#LAYOUT_START} or {@link LayoutState#LAYOUT_END} if focus direction
// is applicable to current state, {@link LayoutState#INVALID_LAYOUT} otherwise.
- private int ConvertFocusDirectionToLayoutDirection(FlexibleView.LayoutManager.Direction focusDirection)
+ private int ConvertFocusDirectionToLayoutDirection(FlexibleViewLayoutManager.Direction focusDirection)
{
switch (focusDirection)
{
- case FlexibleView.LayoutManager.Direction.Up:
- return mOrientation == VERTICAL ? LayoutState.LAYOUT_START
+ case FlexibleViewLayoutManager.Direction.Up:
+ return Orientation == VERTICAL ? LayoutState.LAYOUT_START
: LayoutState.INVALID_LAYOUT;
- case FlexibleView.LayoutManager.Direction.Down:
- return mOrientation == VERTICAL ? LayoutState.LAYOUT_END
+ case FlexibleViewLayoutManager.Direction.Down:
+ return Orientation == VERTICAL ? LayoutState.LAYOUT_END
: LayoutState.INVALID_LAYOUT;
- case FlexibleView.LayoutManager.Direction.Left:
- return mOrientation == HORIZONTAL ? LayoutState.LAYOUT_START
+ case FlexibleViewLayoutManager.Direction.Left:
+ return Orientation == HORIZONTAL ? LayoutState.LAYOUT_START
: LayoutState.INVALID_LAYOUT;
- case FlexibleView.LayoutManager.Direction.Right:
- return mOrientation == HORIZONTAL ? LayoutState.LAYOUT_END
+ case FlexibleViewLayoutManager.Direction.Right:
+ return Orientation == HORIZONTAL ? LayoutState.LAYOUT_END
: LayoutState.INVALID_LAYOUT;
default:
return LayoutState.INVALID_LAYOUT;
}
- private float Fill(FlexibleView.Recycler recycler, LayoutState layoutState, bool stopOnFocusable, bool immediate)
+ private float Fill(FlexibleViewRecycler recycler, LayoutState layoutState, bool stopOnFocusable, bool immediate)
{
float start = layoutState.Available;
return start - layoutState.Available;
}
- private void Cache(FlexibleView.Recycler recycler, LayoutState layoutState, bool immediate, float scrolled = 0)
+ private void Cache(FlexibleViewRecycler recycler, LayoutState layoutState, bool immediate, float scrolled = 0)
{
if (layoutState.LayoutDirection == LayoutState.LAYOUT_END)
{
// get the first child in the direction we are going
- FlexibleView.ViewHolder child = GetChildClosestToEnd();
+ FlexibleViewViewHolder child = GetChildClosestToEnd();
if (child != null)
{
if (child.ItemView.Focusable == false || mOrientationHelper.GetViewHolderEnd(child) + scrolled < mOrientationHelper.GetEnd())
}
else
{
- FlexibleView.ViewHolder child = GetChildClosestToStart();
+ FlexibleViewViewHolder child = GetChildClosestToStart();
if (child != null)
{
if (child.ItemView.Focusable == false || mOrientationHelper.GetViewHolderStart(child) + scrolled > 0)
}
}
- private void RecycleByLayoutState(FlexibleView.Recycler recycler, LayoutState layoutState, bool immediate)
+ private void RecycleByLayoutState(FlexibleViewRecycler recycler, LayoutState layoutState, bool immediate)
{
if (!layoutState.Recycle)
{
}
}
- private void RecycleViewsFromStart(FlexibleView.Recycler recycler, float dt, bool immediate)
+ private void RecycleViewsFromStart(FlexibleViewRecycler recycler, float dt, bool immediate)
{
if (dt < 0)
{
{
for (int i = childCount - 1; i >= 0; i--)
{
- FlexibleView.ViewHolder child = GetChildAt(i);
+ FlexibleViewViewHolder child = GetChildAt(i);
if (mOrientationHelper.GetViewHolderEnd(child) > limit)
{
// stop here
{
for (int i = 0; i < childCount; i++)
{
- FlexibleView.ViewHolder child = GetChildAt(i);
+ FlexibleViewViewHolder child = GetChildAt(i);
if (mOrientationHelper.GetViewHolderEnd(child) > limit)
{
// stop here
}
}
- private void RecycleViewsFromEnd(FlexibleView.Recycler recycler, float dt, bool immediate)
+ private void RecycleViewsFromEnd(FlexibleViewRecycler recycler, float dt, bool immediate)
{
if (dt < 0)
{
{
for (int i = 0; i < childCount; i++)
{
- FlexibleView.ViewHolder child = GetChildAt(i);
+ FlexibleViewViewHolder child = GetChildAt(i);
if (mOrientationHelper.GetViewHolderStart(child) < limit)
{
// stop here
{
for (int i = childCount - 1; i >= 0; i--)
{
- FlexibleView.ViewHolder child = GetChildAt(i);
+ FlexibleViewViewHolder child = GetChildAt(i);
if (mOrientationHelper.GetViewHolderStart(child) < limit)
{
// stop here
}
}
- private float ScrollBy(float dy, FlexibleView.Recycler recycler, bool immediate)
+ private float ScrollBy(float dy, FlexibleViewRecycler recycler, bool immediate)
{
if (ChildCount == 0 || dy == 0)
{
{
mLayoutState.Extra += mOrientationHelper.GetEndPadding();
// get the first child in the direction we are going
- FlexibleView.ViewHolder child = GetChildClosestToEnd();
+ FlexibleViewViewHolder child = GetChildClosestToEnd();
if (child != null)
{
// the direction in which we are traversing children
else
{
mLayoutState.Extra += mOrientationHelper.GetStartAfterPadding();
- FlexibleView.ViewHolder child = GetChildClosestToStart();
+ FlexibleViewViewHolder child = GetChildClosestToStart();
if (child != null)
{
mLayoutState.ItemDirection = mShouldReverseLayout ? LayoutState.ITEM_DIRECTION_TAIL
// children.
//
// @return The child closes to start of the layout from user's perspective.
- private FlexibleView.ViewHolder GetChildClosestToStart()
+ private FlexibleViewViewHolder GetChildClosestToStart()
{
return GetChildAt(mShouldReverseLayout ? ChildCount - 1 : 0);
}
// children.
//
// @return The child closes to end of the layout from user's perspective.
- private FlexibleView.ViewHolder GetChildClosestToEnd()
+ private FlexibleViewViewHolder GetChildClosestToEnd()
{
return GetChildAt(mShouldReverseLayout ? 0 : ChildCount - 1);
}
mLayoutState.Extra = mOrientationHelper.GetStartAfterPadding();
}
- private FlexibleView.ViewHolder FindFirstCompleteVisibleItemView()
+ private FlexibleViewViewHolder FindFirstCompleteVisibleItemView()
{
int childCount = ChildCount;
if (mShouldReverseLayout == false)
{
for (int i = 0; i < childCount; i++)
{
- FlexibleView.ViewHolder child = GetChildAt(i);
+ FlexibleViewViewHolder child = GetChildAt(i);
int start = (int)mOrientationHelper.GetViewHolderStart(child);
if (start > 0 && start < (int)mOrientationHelper.GetEnd())
{
{
for (int i = childCount - 1; i >= 0; i--)
{
- FlexibleView.ViewHolder child = GetChildAt(i);
+ FlexibleViewViewHolder child = GetChildAt(i);
int start = (int)mOrientationHelper.GetViewHolderStart(child);
if (start > 0 && start < (int)mOrientationHelper.GetEnd())
{
return null;
}
- private FlexibleView.ViewHolder FindLastCompleteVisibleItemView()
+ private FlexibleViewViewHolder FindLastCompleteVisibleItemView()
{
int childCount = ChildCount;
if (mShouldReverseLayout == false)
{
for (int i = childCount - 1; i >= 0; i--)
{
- FlexibleView.ViewHolder child = GetChildAt(i);
+ FlexibleViewViewHolder child = GetChildAt(i);
if ((int)mOrientationHelper.GetViewHolderEnd(child) < (int)mOrientationHelper.GetEnd())
{
return child;
{
for (int i = 0; i < childCount; i++)
{
- FlexibleView.ViewHolder child = GetChildAt(i);
+ FlexibleViewViewHolder child = GetChildAt(i);
if ((int)mOrientationHelper.GetViewHolderEnd(child) < (int)mOrientationHelper.GetEnd())
{
return child;
// Also updates current item index to the next item, based on {@link #mItemDirection}
//
// @return The next element that we should layout.
- public FlexibleView.ViewHolder Next(FlexibleView.Recycler recycler)
+ public FlexibleViewViewHolder Next(FlexibleViewRecycler recycler)
{
- FlexibleView.ViewHolder itemView = recycler.GetViewForPosition(CurrentPosition);
+ FlexibleViewViewHolder itemView = recycler.GetViewForPosition(CurrentPosition);
CurrentPosition += ItemDirection;
return itemView;