/**
  * Register a ScrollView to the current MaterialViewPagerAnimator
  * Listen to ObservableScrollViewCallbacks so give to $[observableScrollViewCallbacks] your ObservableScrollViewCallbacks if you already use one
  * For loadmore or anything else
  *
  * @param activity                      current context
  * @param mScrollView                   the scrollable
  * @param observableScrollViewCallbacks use it if you want to get a callback of the RecyclerView
  */
 public static void RegisterScrollView(Activity activity, ObservableScrollView.ObservableScrollView mScrollView, IObservableScrollViewCallbacks observableScrollViewCallbacks) {
     if (activity != null && _hashMap.ContainsKey(activity)) {
         MaterialViewPagerAnimator animator;
         if (_hashMap.TryGetValue(activity, out animator) && animator != null) {
             animator.RegisterScrollView(mScrollView, observableScrollViewCallbacks);
         }
     }
 }
        /**
         * Register a WebView to the current MaterialViewPagerAnimator
         * Listen to ObservableScrollViewCallbacks so give to $[observableScrollViewCallbacks] your ObservableScrollViewCallbacks if you already use one
         * For loadmore or anything else
         *
         * @param webView                       the scrollable
         * @param observableScrollViewCallbacks use it if you want to get a callback of the RecyclerView
         */
        public void RegisterWebView(ObservableWebView webView, IObservableScrollViewCallbacks observableScrollViewCallbacks)
        {
            if (webView != null)
            {
                if (!ScrollViewList.Any())
                {
                    OnMaterialScrolled(webView, webView.GetCurrentScrollY());
                }
                ScrollViewList.Add(webView);                  //add to the scrollable list

                webView.SetScrollViewCallbacks(new ObservableWebViewCallbacks(this, webView, observableScrollViewCallbacks));
                SetScrollOffset(webView, -LastYOffset);
            }
        }
 public void SetScrollViewCallbacks(IObservableScrollViewCallbacks listener)
 {
     _mCallbacks = listener;
 }
 public void SetScrollViewCallbacks(IObservableScrollViewCallbacks listener) {
     _mCallbacks = listener;
 }
		public ObservableScrollViewCallbacks(MaterialViewPagerAnimator materialViewPagerAnimator, ObservableScrollView.ObservableScrollView scrollView, IObservableScrollViewCallbacks observableScrollViewCallbacks)
		{
			_animator = materialViewPagerAnimator;
			_scrollView = scrollView;
			_observableScrollViewCallbacks = observableScrollViewCallbacks;
		}
		/**
		 * Register a WebView to the current MaterialViewPagerAnimator
		 * Listen to ObservableScrollViewCallbacks so give to $[observableScrollViewCallbacks] your ObservableScrollViewCallbacks if you already use one
		 * For loadmore or anything else
		 *
		 * @param webView                       the scrollable
		 * @param observableScrollViewCallbacks use it if you want to get a callback of the RecyclerView
		 */
		public void RegisterWebView(ObservableWebView webView, IObservableScrollViewCallbacks observableScrollViewCallbacks)
		{
			if (webView != null)
			{
				if (!ScrollViewList.Any())
					OnMaterialScrolled(webView, webView.GetCurrentScrollY());
				ScrollViewList.Add(webView);  //add to the scrollable list

				webView.SetScrollViewCallbacks(new ObservableWebViewCallbacks(this, webView, observableScrollViewCallbacks));
				SetScrollOffset(webView, -LastYOffset);
			}
		}
		/**
		 * Register a ScrollView to the current MaterialViewPagerAnimator
		 * Listen to ObservableScrollViewCallbacks so give to $[observableScrollViewCallbacks] your ObservableScrollViewCallbacks if you already use one
		 * For loadmore or anything else
		 *
		 * @param scrollView                    the scrollable
		 * @param observableScrollViewCallbacks use it if you want to get a callback of the RecyclerView
		 */
		public void RegisterScrollView(ObservableScrollView.ObservableScrollView scrollView, IObservableScrollViewCallbacks observableScrollViewCallbacks)
		{
			if (scrollView != null)
			{
				ScrollViewList.Add(scrollView);  //add to the scrollable list
				if (scrollView.Parent != null && scrollView.Parent.Parent is ViewGroup)
					scrollView.SetTouchInterceptionViewGroup((ViewGroup)scrollView.Parent.Parent);
				scrollView.SetScrollViewCallbacks(new ObservableScrollViewCallbacks(this, scrollView, observableScrollViewCallbacks));
				scrollView.Post(() => SetScrollOffset(scrollView, LastYOffset));
			}
		}
Example #8
0
 /**
  * Register a ScrollView to the current MaterialViewPagerAnimator
  * Listen to ObservableScrollViewCallbacks so give to $[observableScrollViewCallbacks] your ObservableScrollViewCallbacks if you already use one
  * For loadmore or anything else
  *
  * @param activity                      current context
  * @param mScrollView                   the scrollable
  * @param observableScrollViewCallbacks use it if you want to get a callback of the RecyclerView
  */
 public static void RegisterScrollView(Activity activity, ObservableScrollView.ObservableScrollView mScrollView, IObservableScrollViewCallbacks observableScrollViewCallbacks)
 {
     if (activity != null && _hashMap.ContainsKey(activity))
     {
         MaterialViewPagerAnimator animator;
         if (_hashMap.TryGetValue(activity, out animator) && animator != null)
         {
             animator.RegisterScrollView(mScrollView, observableScrollViewCallbacks);
         }
     }
 }
 public ObservableScrollViewCallbacks(MaterialViewPagerAnimator materialViewPagerAnimator, ObservableScrollView.ObservableScrollView scrollView, IObservableScrollViewCallbacks observableScrollViewCallbacks)
 {
     _animator   = materialViewPagerAnimator;
     _scrollView = scrollView;
     _observableScrollViewCallbacks = observableScrollViewCallbacks;
 }
 /**
  * Register a ScrollView to the current MaterialViewPagerAnimator
  * Listen to ObservableScrollViewCallbacks so give to $[observableScrollViewCallbacks] your ObservableScrollViewCallbacks if you already use one
  * For loadmore or anything else
  *
  * @param scrollView                    the scrollable
  * @param observableScrollViewCallbacks use it if you want to get a callback of the RecyclerView
  */
 public void RegisterScrollView(ObservableScrollView.ObservableScrollView scrollView, IObservableScrollViewCallbacks observableScrollViewCallbacks)
 {
     if (scrollView != null)
     {
         ScrollViewList.Add(scrollView);                  //add to the scrollable list
         if (scrollView.Parent != null && scrollView.Parent.Parent is ViewGroup)
         {
             scrollView.SetTouchInterceptionViewGroup((ViewGroup)scrollView.Parent.Parent);
         }
         scrollView.SetScrollViewCallbacks(new ObservableScrollViewCallbacks(this, scrollView, observableScrollViewCallbacks));
         scrollView.Post(() => SetScrollOffset(scrollView, LastYOffset));
     }
 }