Exemple #1
0
 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());
     }
 }
Exemple #3
0
        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;
            }
        }
Exemple #4
0
        /**
         * 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;
            }
        }
	    /**
	     * 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 SetOnScrollListener(OnScrollListener listener)
 {
     mScrollListener = listener;
 }
 public void SetOnScrollListener(OnScrollListener listener)
 {
     mScrollListener = listener;
 }