public void OnScrollStateChanged(AbsListView view, ScrollState scrollState) { if (OnScrollListener != null) { OnScrollListener.OnScrollStateChanged(view, scrollState); } }
/** * Register a callback to be invoked when this Workspace is mid-scroll or mid-fling, either * due to user interaction or programmatic changes in the current screen index. * * @param scrollListener The callback. * @param notifyImmediately Whether to trigger a notification immediately */ public void SetOnScrollListener(OnScrollListener scrollListener, bool notifyImmediately) { mOnScrollListener = scrollListener; if (mOnScrollListener != null && notifyImmediately) { mOnScrollListener.OnScroll(GetCurrentScreenFraction()); } }
public void OnScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { if (OnScrollListener != null) { OnScrollListener.OnScroll(view, firstVisibleItem, visibleItemCount, totalItemCount); } if (totalItemCount == 0) { return; } if (IsSameRow(firstVisibleItem)) { var newScrollY = TopItemScrollY; var isSignificantDelta = Math.Abs(lastScrollY - newScrollY) > ScrollThreshold; if (isSignificantDelta) { if (lastScrollY > newScrollY) { OnScrollUp(); } else { OnScrollDown(); } } lastScrollY = newScrollY; } else { if (firstVisibleItem > previousVisibleItem) { OnScrollUp(); } else { OnScrollDown(); } lastScrollY = TopItemScrollY; previousVisibleItem = firstVisibleItem; } }
/** * Implement this method to customize the AbsListView */ protected void InitRecyclerView(View view) { mRecycler = (RecyclerView)view.FindViewById(AndroidResource.Id.List); tipView = (TextView)view.FindViewById(Resource.Id.tvTip); SetItemAnimator(null); if (mRecycler == null) { return; } mRecycler.HasFixedSize = true; mRecycler.SetClipToPadding(mClipToPadding); mInternalOnScrollListener = new CustomOnScrollListener(this); mRecycler.AddOnScrollListener(mInternalOnScrollListener); if (mPadding != -1.0f) { mRecycler.SetPadding(mPadding, mPadding, mPadding, mPadding); } else { mRecycler.SetPadding(mPaddingLeft, mPaddingTop, mPaddingRight, mPaddingBottom); } if (mScrollbarStyle != -1) { mRecycler.ScrollBarStyle = (ScrollbarStyles)mScrollbarStyle; } switch (mScrollbar) { case 0: VerticalScrollBarEnabled = false; break; case 1: HorizontalScrollBarEnabled = false; break; case 2: VerticalScrollBarEnabled = false; HorizontalScrollBarEnabled = false; break; } }
public void SetOnScrollListener(OnScrollListener listener) { mScrollListener = listener; }