Как использовать 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)
Для любого, кто сталкивался!