2017-06-06 18 views
0

私はTabbedPageを使用しています。新しいタブを選択するたびに、スライドアニメーションが表示されます。私はのスライドアニメーションを無効にしますXamarin.FormsでAndroid TabBarでスライドアニメーションを無効にするにはどうすればよいですか?

スライドアニメーションなしでこれを行うXamarin Sampleがあります。これをどのように複製できますか?

カスタムToolBarとTabBarを使用しており、AppActivityでもFormsAppCompatActivityを使用しています。

Xamarinが提供するサンプルがではないため、これらのアニメーションをどのように無効にできるかわかりません。

は、ネイティブのアプローチと同様に

答えて

0

hereを説明していただきありがとうございます。これは、カスタムレンダラーで行うことができます。

[assembly: ExportRenderer(typeof(TabsPage), typeof(TabsPageRenderer))] 
namespace App.Droid.Renderers 
{ 
    public class TabsPageRenderer : BadgedTabbedPageRenderer 
    { 
     ViewPager _viewPager; 
     TabLayout _tabLayout; 

     protected override void OnElementChanged(ElementChangedEventArgs<TabbedPage> e) 
     { 
      base.OnElementChanged(e); 

      for (int i = 0; i < ChildCount; i++) 
      { 
       var v = GetChildAt(i); 
       if (v is ViewPager) 
        _viewPager = (ViewPager)v; 
       else if (v is TabLayout) 
        _tabLayout = (TabLayout)v; 
      } 

      _viewPager.SetPageTransformer(true, new NoAnimationPageTransformer()); 

     } 

    } 

    public class NoAnimationPageTransformer : Java.Lang.Object, Android.Support.V4.View.ViewPager.IPageTransformer 
    { 
     public void TransformPage(Android.Views.View view, float position) 
     { 
      if (position < 0) 
      { 
       view.ScrollX = (int)((float)(view.Width) * position); 
      } 
      else if (position > 0) 
      { 
       view.ScrollX = -(int)((float)(view.Width) * -position); 
      } 
      else 
      { 
       view.ScrollX = 0; 
      } 

     } 

    } 

} 
関連する問題