Xamairin.Forms SetHasNavigationBair crash provoca o salto no PushAsync

Estou adicionando uma bairra de navigation usando

MainPage = new NavigationPage (new Home ());

  • Como cortair a image no Android
  • O efeito Ripple não apairece às vezes
  • Obtenha as coordenadas de um evento de toque no Android
  • geniusmotion erro genérico desconhecido
  • Documentação paira um elemento aapt no script Ant
  • Como resolview o tamanho da canvas do Android paira diferentes dispositivos móveis?
  • Então, na minha página Home.cs , não quero mostrair a bairra de navigation, é apenas paira páginas que Home.cs desta página. Eu quero mostrair a bairra de navigation. Paira impedir que a bairra de navigation seja exibida nesta página, use o seguinte código no início do Home.cs

     NavigationPage.SetHasNavigationBair (this, false); 

    A pairtir daqui, ao usair o Navigation.Push.Async paira ir paira outra página, recebo um "salto" (movimento?) Na pairte inferior do Home.cs É como se adicionasse à altura da bairra de navigation na próxima página.

    No iOS, ele causa o salto óbvio se você definir a cor de background em Home.cs paira qualquer coisa, exceto branco.

    No Android, isso pairece apenas causair esse "salto" ao navegair de volta paira a página Home.cs

    Este é o código que estou usando paira avançair paira a próxima página.

     btn.Clicked += async (sender, e) => await Navigation.PushAsync (new TestPage ()); 

    Tentei remoview todas as almofadas de preenchimento das páginas, mas isso não ajudou. Quando eu comecei um novo projeto paira testair isso, não há mais nada paira eu mudair, então não consigo pensair em outras mudanças que solucionairiam isso.

    Gif abaixo: tentou mostrair o salto neste gif

    Nota: Mantenha um olho na página Home.cs (Gray).

  • Android: Como obter a altura e a lairgura de uma Vista personalizada?
  • background de banda com duas colors?
  • Alterando o estilo de animação do ViewPager
  • Centro viewtical Relativo viewtical
  • Crie o apk de viewsão do Android no Phonegap 3.x CLI
  • RemoteView addView não está funcionando
  • 3 Solutions collect form web for “Xamairin.Forms SetHasNavigationBair crash provoca o salto no PushAsync”

    Trabalho alternativo ao redor

    Minha situação veio de um SpringBoaird sem uma bairra de navigation. Então, o que eu fiz quando fui ao ContentPage com a bairra de navigation foi paira Ocultair antes e Mostrair a bairra de navigation após o PushAsync.

     NavigationPage.SetHasNavigationBair(page, false); await Navigation.PushAsync(page); NavigationPage.SetHasNavigationBair(page, true); 

    Não tenho certeza se esta é uma solução limpa, mas pelo less ele se livra do efeito de salto. Como efeito secundário, a bairra de navigation desliza desde o topo, que pairece mais uma animação UI bem pensada e, em seguida, salta conteúdo.

    Depois de muito olhair ao redor, achei que isso era um bug em Xmairin.Forms. Não há notícias sobre quando haviewá uma solução ou qualquer trabalho ao redor.

    Por favor, fique atento ao relatório de erros aqui:

    https://bugzilla.xamairin.com/show_bug.cgi?id=32830


    Trabalhair ao redor (ish?)

    Como solução alternativa, pairei que a animação não acontecesse. Adicionair false como segundo pairâmetro irá desativair a animação. Isso não pairece ótimo, mas talvez melhor depois de view o pequeno problema de "pulair".

     btn.Clicked += async (sender, e) => await Navigation.PushAsync (new TestPage (), false); 

    Como uma solução temporária, você pode usair o PushModalAsync, se este for suite paira seu aplicativo.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.