Xamarin:在Android导航上覆盖PushAsync
我在我的应用程序中创建了一个自定义导航渲染,OnPushAsync和PopViewController被覆盖,并且可以在iOS上工作Xamarin:在Android导航上覆盖PushAsync,xamarin,navigation,custom-renderer,Xamarin,Navigation,Custom Renderer,我在我的应用程序中创建了一个自定义导航渲染,OnPushAsync和PopViewController被覆盖,并且可以在iOS上工作 public class NavRenderer : NavigationRenderer { protected override async Task<bool> OnPushAsync(Page page, bool animated) { ... }
public class NavRenderer : NavigationRenderer
{
protected override async Task<bool> OnPushAsync(Page page, bool animated)
{ ...
}
public override UIViewController PopViewController(bool animated)
{
....
return base.PopViewController(false);
}
公共类NavRenderer:NavigationRenderer
{
受保护的覆盖异步任务OnPushAsync(第页,bool动画)
{ ...
}
公共覆盖UIViewController PopViewController(布尔动画)
{
....
返回base.PopViewController(false);
}
尝试在Android上做同样的(?)时,如何覆盖OnPushAsync和PopViewController
Tx您可以
覆盖android渲染器中的这些方法,以推送和弹出页面
public class NavRenderer : NavigationRenderer
{
public NavRenderer(Context context) : base(context)
{
}
protected override Task<bool> OnPushAsync(Page view, bool animated)
{
return base.OnPushAsync(view, animated);
}
protected override Task<bool> OnPopViewAsync(Page page, bool animated)
{
return base.OnPopViewAsync(page, animated);
}
}
Tx.你知道NavigationBar.BarTintColor的等价物吗(我在iOS导航渲染中使用它来更改导航栏的颜色)。你可以尝试类似这样的方法((NavigationPage)Xamarin.Forms.Application.Current.MainPage)。BarBackgroundColor=color.Blue;
public class NavRenderer : NavigationRenderer
{
public override void PushViewController(UIViewController viewController, bool animated)
{
base.PushViewController(viewController, animated);
}
public override UIViewController PopViewController(bool animated)
{
return base.PopViewController(animated);
}
}