Как использовать OnPageScrollStateChanged в xamarin

Я застрял в точке, где мне нужно скрыть представление списка, если состояние пейджера состояния изменяется. то есть, если я перемещаюсь от фрагмента 1 к фрагменту два в пейджере представления, я хочу, чтобы мое представление списка скрылось. Это может быть достигнуто с помощью OnPageScrollStateChanged, я не знаю реализацию на студии xamarin.

2 ответа

Решение

Следующим может быть подход для квеста

public class HomePageActivity : FragmentActivity, Android.Support.V4.View.ViewPager.IOnPageChangeListener
    {
protected override void OnCreate (Bundle bundle)
        {
            base.OnCreate (bundle);

            // Create your application here
            SetContentView(Resource.Layout.home);
var viewPager_up = FindViewById<Android.Support.V4.View.ViewPager>(Resource.Id.viewPager_up);
viewPager_up.AddOnPageChangeListener (this);

}
public void OnPageScrollStateChanged (int state)
        {
            Console.WriteLine ("OnPageScrollStateChanged "+" "+state);
        }
        public void OnPageScrolled (int position, float positionOffset, int positionOffsetPixels){
Console.WriteLine ("OnPageScrolled "+" "+position);
}

        public void OnPageSelected (int position)
        {
            Console.WriteLine ("OnPageSelected"+" "+position);


        }
}

Для записей: Вот как всплывают события.

OnPageScrollStateChanged state = 2 (SCROLL_STATE_SETTLING)==> start scrolling 

onPageSelected ==> a page has been selected (before start scrolling to it), check pos.

onPageScrolled ==> called many times while scrolling (~50% for old pos, ~50% for new pos)

OnPageScrollStateChanged state = 0 (SCROLL_STATE_IDLE)==> on end scroll (settled)

Для любого, кто сталкивался!

Другие вопросы по тегам