![](/img/trans.png)
[英]Xamarin.Forms: how to disable arrow to hamburger transition animation on Android?
[英]How to disable sliding animation in Android TabBar with Xamarin.Forms?
我正在使用TabbedPage ,每当我选择一个新的Tab时,都会有一个滑动动画。 我想禁用滑动动画 。
有一个Xamarin Sample可以执行此操作,而没有滑动动画。 我该如何复制?
我在AppActivity中使用自定义ToolBar和TabBar以及FormsAppCompatActivity。
Xamarin提供的Sample不是 ,因此我不确定如何禁用这些动画。
谢谢
与此处描述的本机方法类似。 这可以使用自定义渲染器完成:
[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;
}
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.