如何在 xamarin 中使用 OnPageScrollStateChanged
how to use OnPageScrollStateChanged in xamarin
如果视图寻呼机的状态发生变化,我会卡在需要隐藏列表视图的位置。即,如果我在视图寻呼机中从片段 1 滑动到片段二,我希望隐藏列表视图。这可能是通过 OnPageScrollStateChanged 实现的,我不知道 xamarin studio 上的实现。
以下可能是问题的解决方法
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)
对于遇到的任何人!
如果视图寻呼机的状态发生变化,我会卡在需要隐藏列表视图的位置。即,如果我在视图寻呼机中从片段 1 滑动到片段二,我希望隐藏列表视图。这可能是通过 OnPageScrollStateChanged 实现的,我不知道 xamarin studio 上的实现。
以下可能是问题的解决方法
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)
对于遇到的任何人!