NavigationPageRenderer

NavigationPageRenderer

我想通过扩展NavigationPageRenderer在Android上更改页面转换之间的动画。但是,与xamarin.forms.platform.android.navigationrenderer不同,onpoptorootasync、onpopviewsync和onpushasync没有方法。是否可以使用appcompat.NavigationPageRenderer覆盖页面上的转换?

最佳答案

您需要为NavigationPageRenderer添加自定义呈现程序,并覆盖SetupPageTransition。

[assembly: ExportRenderer(typeof(NavigationPage), typeof(AnimationNavigationRenderer))]
namespace ProjectName.Droid
{
    public class AnimationNavigationRenderer : Xamarin.Forms.Platform.Android.AppCompat.NavigationPageRenderer
    {
        protected override void SetupPageTransition(Android.Support.V4.App.FragmentTransaction transaction, bool isPush)
        {
            if (isPush)
                transaction.SetCustomAnimations(Resource.Animation.abc_slide_in_top, 0, 0, Resource.Animation.abc_slide_out_top);
            else
                transaction.SetCustomAnimations(Resource.Animation.abc_slide_in_top, 0, 0, Resource.Animation.abc_slide_out_top);
        }
    }
}

关于android - Xamarin AppCompat.NavigationPageRenderer过渡,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35593073/

10-10 22:37