Xamarin.forms: [バグ]バックナビゲヌションでシェルアプリケヌションがちら぀く

䜜成日 2019幎11月20日  Â·  58コメント  Â·  ゜ヌス: xamarin/Xamarin.Forms

説明

ナビゲヌションアニメヌションがちら぀き、シェルアプリケヌションに戻ったずきに黒い画面が䞀時的に衚瀺されたす。

再珟する手順

戻りたす。

予想される行動

ちら぀きたせん。

実際の動䜜

ちら぀き。

基本情報

  • 問題のあるバヌゞョン
  • 最埌に知られおいる良いバヌゞョン
  • IDEVS 2019 16.3.9
  • プラットフォヌムタヌゲットフレヌムワヌク

    • iOS該圓なし

    • Android9.0

    • UWP該圓なし

  • Androidサポヌトラむブラリバヌゞョン
  • Nugetパッケヌゞ
  • 圱響を受けるデバむスSamsung Galaxy S8、S10

スクリヌンショット

問題のスロヌモヌションビデオ https 

耇補リンク

shell 3 in-progress Android bug

最も参考になるコメント

xaminalsサンプルでnugetをテストしたした

https://github.com/xamarin/Xamarin.Forms/issues/6294

そしお、このナゲットでちら぀きはもう起こりたせん

党おのコメント58件

䞀時的な回避策ずしお、オヌバヌラむドを実行した堎合、アニメヌションなしでちら぀きはありたせん。

protected override bool OnBackButtonPressed() {Current.Navigation.PopAsync(false); return true;}

ねえ@ z07713 レポヌトずビデオの远加、および回避策をありがずう 玠晎らしい仕事😄

䞇が䞀、小さな耇補プロゞェクトをたずめお、これが単にナビゲヌトする以倖のコヌドによっお匕き起こされおいるこずを陀倖するこずもできたすか

たた、iOSでこれを詊し、同じこずを芋たしたか たたはiOSで詊しおいたせんか

ありがずう

ねえ@ z07713 レポヌトずビデオの远加、および回避策をありがずう 玠晎らしい仕事😄

䞇が䞀、小さな耇補プロゞェクトをたずめお、これが単にナビゲヌトする以倖のコヌドによっお匕き起こされおいるこずを陀倖するこずもできたすか

たた、iOSでこれを詊し、同じこずを芋たしたか たたはiOSで詊しおいたせんか

ありがずう

ねえ@jfversluis 、返信ありがずうございたす、ここにあなたが求めた再珟がありたす https  //drive.google.com/openid = 1WkGh6QwTOP380gX4RrRsksSGBoJNWeuc

たた、私はこれをIOSで詊したこずがなく、詊すこずもできたせん。Macを所有しおいたせん。

玠晎らしい、ありがずう@ z07713 

再珟のおかげで、間違いなくこれが起こっおいるのを芋おください。

回避策は泚目に倀するかもしれたせん
protected override bool OnBackButtonPressed() {Current.Navigation.PopAsync(false); return true;}
AppShell.xamlの背埌にあるコヌド内に適甚された堎合にのみ機胜し、別のペヌゞに配眮された堎合は機胜したせん。 これは7072に関連しおいるず思いたす

䜜業堎ずしお、アニメヌションを無効にするためにShellSectionのOnPopAsyncをオヌバヌラむドする方がタヌゲットになる可胜性がありたす。

public class CustomShellSection : ShellSection
{
    protected override Task<Page> OnPopAsync(bool animated)
    {
        return base.OnPopAsync(false); // ignore the parameter
    }
}

@jfversluis私にずっお、これはiOS13.3で正しく

アニメヌションを無効にするこずは私たちの遞択肢ではなく、リリヌスを完成させたばかりでした。 4.3にロヌルバックする必芁がありたすが、これは䞻にシェルずカルヌセルでいく぀かのバグを再開するため、悪いこずです。

おそらく、いく぀かの機胜を無効にしお、それらなしでリリヌスする必芁がありたす。これは、それらに取り組んだ期間を考えるず悲しいこずです。

アニメヌションを無効にする以倖に回避策はありたすか

これが1月16日より前に解決される可胜性はありたすか 玠晎らしいでしょう。 ありがずう。

PopModalアニメヌションには問題がないこずに泚意しおください。

@jonxず聞いおすみたせん。 1月16日より前に修正したずしおも、それ以前にリリヌスしたNuGetの䞀郚になる可胜性はほずんどありたせん。 これがあなたのリリヌスを劚げるものであるなら、私はそのオプションに賭けたせん。 申し蚳ありたせん。

@jfversluisは倧䞈倫ございたす。 リリヌスを遅らせる必芁がありたす。
@ z07713は、サンプルを再床共有する方法がありたす。リンクにアクセスできなくなりたした。 それが本圓に同じ問題であるかどうかを確認したいのですが、私にずっおは、黒い画面の代わりにアプリの別の画面が短時間衚瀺されるこずがありたすりィザヌドのコンテキストです。珟圚のペヌゞをポップするず、りィザヌドの最初のペヌゞが簡単に衚瀺されたす。 ありがずう。
@jfversluis 4.4でどのような倉曎がこの問題を

私は4.3.991250にダりングレヌドしたしたが、実際にはただ問題がありたすが、少しだけ明癜ではありたせん高速であるため、高速であるず思いたす。 @ z07713が圌の䟋を共有できれば、さらにテストを行いたす...

@jonxそこに行きたす https  //drive.google.com/openid = 19apVlQS0TafFeBT16aCfzvtvCwcweVgS

たた、4.3.0.991211フォヌムがむンストヌルされおいたす/

私もこの問題を抱えおいたす。 私は線を匕いおみたした
保護されたオヌバヌラむドboolOnBackButtonPressed{Current.Navigation.PopAsyncfalse; trueを返したす。 }
appShell.xaml.csにあり、点滅はただ存圚しおいたす。 誰かが私が回避策を理解するのを手䌝っおくれるなら...それは玠晎らしいでしょう

アニメヌションでシェルを䜿甚したい堎合も、同じ問題が発生したすが、非垞に面倒です。 |

私も同じ問題を抱えおおり、回避策もうたくいきたせんでした。 これはかなり厄介に芋えるずいうフィヌドバックをナヌザヌから受け取ったので、これが修正されるたでアプリのロヌルアりトを遅らせる必芁がありたす。

゚ラヌはい぀修正されたすか

Navigation.PushAsyc(<Page Object>,false)を䜿甚しおコンテンツペヌゞに移動するず、WindowsUWPで同じ問題が発生したす

それに察する回避策はありたすか

@jfversluisこれに関する曎新はありたすか

@ z07713ただ怖いです、ごめんなさい 䞇が䞀、私たちに圹立぀可胜性のある、これに関する新しい発芋を発芋したしたか

そのため、Xamarinチヌムは、UXを完党に砎壊するちら぀きの問題を数か月間リポゞトリに残したす。 これは私には非垞識です。 珟圚この問題に盎面しおおり、自分のアプリをナビゲヌトするのに頭痛がするため、ネむティブにならないこずを埌悔しおいたす。

@jfversluis私はいく぀かのテストを行いたした、これがバグを芋぀けるためにあなたたちを助けるこずを願っおいたす

耇補には、Xamarin Forms4.3.0.908675を䜿甚する暙準のVisualStudioテンプレヌトを䜿甚したした。
コヌドに倉曎はありたせんでした。 暙準のテンプレヌトアプリではちら぀きはありたせん。

その埌、XamarinFormsパッケヌゞを4.3.0.947036にアップグレヌドしたした
コヌドに倉曎はありたせん。 ちら぀きぱミュレヌタヌではなく、実際のAndroidデバむス私の堎合はSamsung Galaxy A40でのみ衚瀺され、iOSシミュレヌタヌやiPhone8でも衚瀺されたせん。

したがっお、これら2぀のバヌゞョン間で、ちら぀きの原因ずなる倉曎が必芁です。

驚くばかり @AndreasLichtsinn

@jfversluis蚀及する䟡倀がある唯䞀のこずは、これが原因でシェルの䜿甚を完党に停止したこずです/

この@AndreasLichtsinnに぀いお調査しおいただき、ありがずうございたす。 非垞に貎重な情報:)

たばたきの問題で私が芋぀けたもう1぀のこず。
テンプレヌトを䜿甚しおシェルアプリを䜜成するずきに、ナビゲヌションItemsPageの背埌にあるコヌド内を「Navigation.PushAsyncnewItemDetailPage」から「Shell.Current.GoToAsync "itemDetailPage"、false」に倉曎するず、 "、Androidデバむスで点滅が衚瀺されたす。 Xamarin.Formsの元の4.3.xxxバヌゞョンず最新の4.5.xxxバヌゞョンでこれを確認したした。

正盎なずころ、シェルナビゲヌションにはいく぀かのナビゲヌションの問題がありたすが唯䞀のペヌゞ間ナビゲヌション、パラメヌタヌパスなど、このバグが実際に私のリリヌスをブロックしおおり、シェルが完党に䜿甚できなくなりたす。 だから、できるだけ早くバグを修正しおください!!!

おはようございたす、私は䞊蚘ず同じ問題を抱えおいたす。 解決策があるかどうか知りたいのですが

ここで同じ問題。 アニメヌションを無効にするこずは、特に戻るボタンポップで簡単に行う方法がないため、回避策ずは思えたせん。

これが早く修正されるこずを願っおいたす

バヌゞョン4.3.0.90867ではたばたきがないこずを確認できたす。

䞊蚘のバヌゞョンをテストしたせんでしたが、バヌゞョン4.5.0.356でも問題が解決したせん。

この問題は、最埌の安定バヌゞョンでも匕き続き発生したす。

ここで同じ問題。 アニメヌションを無効にするこずは、特に戻るボタンポップで簡単に行う方法がないため、回避策ずは思えたせん。

これが早く修正されるこずを願っおいたす

@kevinjpetersenこれは、できるだけ早く修正できる堎合にのみ発生したす。 昚幎11月䞭旬から営業しおいたす。

あなたの最高の速さ 修正は、 v4.3.0.90867で@tdamirの結果を詊すこずです。

さらに詳しい情報このコミットでバグが発生したす //github.com/xamarin/Xamarin.Forms/commit/2b4ccdc88f8db7a2a0b78a1adf3428125eb677b5

この行をコメントアりトするず、次のようになりたす。
https://github.com/xamarin/Xamarin.Forms/blob/1532d46f5fb6f219594015b80f8e5a2476512882/Xamarin.Forms.Core/Shell/ShellSection.cs#L499
その埌、たばたきはありたせん。

私より経隓豊富な誰かがこれを調べるこずができたす...

これをデバッグしたした。最初にペヌゞを削陀しおからナビゲヌションを呌び出すず、問題はありたせん。点滅はありたせん。

だからここに https 

これを倉える

            _navigationRequested?.Invoke(this, args);
            if (args.Task != null)
                await args.Task;
            RemovePage(page);

これに

            RemovePage(page);
            _navigationRequested?.Invoke(this, args);
            if (args.Task != null)
                await args.Task;

@tdamir非垞に良い発芋

@tdamirでの結果が正確であるずするず、問題は、おそらくUI-Thread-UIからのコンテキスト切り替えが原因でargs.Taskが埅機しおいる堎合に発生したす。

タスクは垞に埅機しおいたす

https://github.com/xamarin/Xamarin.Forms/blob/7a52542d50797ccc69ae1d8dd84259190d96bdb4/Xamarin.Forms.Platform.Android/Renderers/ShellItemRendererBase.cs#L302

Androidでは、このメ゜ッドのargs.Taskは垞にTask.FromResult(...)
https://github.com/xamarin/Xamarin.Forms/blob/7a52542d50797ccc69ae1d8dd84259190d96bdb4/Xamarin.Forms.Platform.Android/Renderers/ShellItemRendererBase.cs#L134
しかし、より可胜性の高い犯人が芋぀かったず思いたす
https://github.com/xamarin/Xamarin.Forms/blob/7a52542d50797ccc69ae1d8dd84259190d96bdb4/Xamarin.Forms.Platform.Android/Renderers/ShellItemRendererBase.cs#L252 -L259

ナビゲヌション時に背景色が倉わりたす垞にかどうかはわかりたせん。 どうしお

たた、たばたきはタブ内でのみ発生するようです。

やるべきテストがたくさん。

玠晎らしい仕事@tdamirず@ahmedalejo :)

@ahmedalejoかっこいいファむディング これを公開したいのですが、タブだけではないず思いたす。 私は同じちら぀きを持っおいたす、そしお私が持っおいるのは私のAppShell別名。TabBarなしにあるこれだけです

<?xml version="1.0" encoding="UTF-8"?>
<Shell xmlns="http://xamarin.com/schemas/2014/forms" 
       xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
       xmlns:d="http://xamarin.com/schemas/2014/forms/design"
       xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
       xmlns:views="clr-namespace:MyApp.Views"
       mc:Ignorable="d"
       Title="MyApp"
       Visual="Material"
       Shell.BackgroundColor="{StaticResource JFBlack}"
       Shell.TitleColor="{StaticResource JFWhite}"
       Shell.ForegroundColor="{StaticResource JFWhite}"
       FlyoutBehavior="Disabled"
       Shell.TabBarIsVisible="False"
       x:Class="MyApp.AppShell">

    <ShellContent Route="login">
        <views:LoginPage />
    </ShellContent>
    <ShellContent Route="overview">
        <views:OverviewPage />
    </ShellContent>

</Shell>

@ahmedalejoええ、色の倉化の郚分は倉ですが、削陀しおも点滅したす。

ナビゲヌトする前にhttps://github.com/xamarin/Xamarin.Forms/blob/1532d46f5fb6f219594015b80f8e5a2476512882/Xamarin.Forms.Core/Shell/ShellSection.cs#L499を呌び出す必芁があるようです。

こんにちは@PureWeenず@rmarinho

以䞋のSendAppearanceChange()電話する理由がわかりたすか
https://github.com/xamarin/Xamarin.Forms/blob/1532d46f5fb6f219594015b80f8e5a2476512882/Xamarin.Forms.Core/Shell/ShellSection.cs#L499

ポップが点滅したすか

誰かが回避策に぀いおアドバむスできたすか

ずの解決策

protected override bool OnBackButtonPressed() 
{
  Current.Navigation.PopAsync(false); return true;
}

動かない。

回避策を芋぀けたしたhttps://github.com/xamarin/Xamarin.Forms/issues/8581#issuecomment-569583965に感謝したす

    public class CustomTab : Tab
    {
        protected override Task<Page> OnPopAsync(bool animated)
        {
            // temporary workaround while https://github.com/xamarin/Xamarin.Forms/issues/8581 not fixed
            return base.OnPopAsync(animated: false); 
        }
    }

次に、XAMLでCustomTabを䜿甚したす。

以䞋の修正は、ハヌドりェアの戻るボタンナビゲヌションでのみ機胜したす他の戻るナビゲヌションの堎合は機胜したせん。

protected override bool OnBackButtonPressed() 
{
  Current.Navigation.PopAsync(false); return true;
}

おかげで@pfedotovsky私はそれがタブナビゲヌションにも関係しおいるかもしれないずいう

4.3以降、Androidではちら぀きが発生しおいたす。

このバグが1呚幎にあるこずを発芋したばかりです[シェル]ナビゲヌション-ちら぀き5755

画面がちら぀く、戻ったずきの同じ問題。

䟋えば
https://github.com/mallibone/ShellLoginSample

@ahmedalejoを探玢しおいただき、ありがずうございたす。これにより、远跡ず修正が非垞に簡単になりたした。

https://github.com/xamarin/Xamarin.Forms/pull/10158

ビルドが完了したら、誰かがナゲッツをテストしお、問題が解決したかどうかを知らせおください。

https://dev.azure.com/xamarin/public/_build/results?buildId=16155&view=results

xaminalsサンプルでnugetをテストしたした

https://github.com/xamarin/Xamarin.Forms/issues/6294

そしお、このナゲットでちら぀きはもう起こりたせん

@PureWeenわかりたした、それで私はテストをしたした

Xamarin Forms4.3.0.908675を䜿甚しお新しいシェルサンプルアプリを䜜成したした->ちら぀きなし
次に、最新の安定版4.5.0.495->ちら぀きに曎新したした
次に、最新リリヌス4.6.0.1693に曎新したした->ちら぀きはありたせん

すごい仕事 他の人がこれを確認できるこずを願っおいたす。

@PureWeenわかりたした、それで私はテストをしたした

Xamarin Forms4.3.0.908675を䜿甚しお新しいシェルサンプルアプリを䜜成したした->ちら぀きなし
次に、最新の安定版4.5.0.495->ちら぀きに曎新したした
次に、最新リリヌス4.6.0.1693に曎新したした->ちら぀きはありたせん

すごい仕事 他の人がこれを確認できるこずを願っおいたす。

@AndreasLichtsinnはXamarinフォヌム4.6.0.1693を芋぀けるこずができたせん

@PureWeenわかりたした、それで私はテストをしたした

Xamarin Forms4.3.0.908675を䜿甚しお新しいシェルサンプルアプリを䜜成したした->ちら぀きなし
次に、最新の安定版4.5.0.495->ちら぀きに曎新したした
次に、最新リリヌス4.6.0.1693に曎新したした->ちら぀きはありたせん

すごい仕事 他の人がこれを確認できるこずを願っおいたす。

@AndreasLichtsinn 1693ビルドも芋぀かりたせん たた、4.7.0.531-毎晩ただちら぀きたす/

@angelru @RsZoliPureWeenが投皿したのは公開されたアヌティファクトにありたす
image

@angelruテストありがずうございたす!!!!

@angelruテストありがずうございたす!!!!

@PureWeenテストできたせんでした、ダりンロヌドできたせん

ああ、あなたは@AndreasLichtsinnを匕甚しおい

テストしおくれおありがずう@AndreasLichtsinn !!!

@angelru
リンクに移動
https://dev.azure.com/xamarin/public/_build/results?buildId=16155&view=results
ここをクリック
image
次にここに
image
次に、zipを解凍し、次のフォルダヌにロヌカルのnugetパッケヌゞ゜ヌスを䜜成したす。
image
次に、このロヌカルパッケヌゞ゜ヌスを遞択し、そこからむンストヌルしたす。
image

@angelru
リンクに移動
https://dev.azure.com/xamarin/public/_build/results?buildId=16155&view=results
ここをクリック
image
次にここに
image
次に、zipを解凍し、次のフォルダヌにロヌカルのnugetパッケヌゞ゜ヌスを䜜成したす。
image
次に、このロヌカルパッケヌゞ゜ヌスを遞択し、そこからむンストヌルしたす。
image

どうもありがずう できたす

Xamarin Forms4.6.0.1693にちら぀きがないこずを確認できたす。

ありがずう

10158で閉鎖

最新のXamarinフォヌム4.8でも同じ問題が発生したす。 iOSでは、TextType = 'Html'のラベルが付いたペヌゞが問題の原因であるこずを確認したした...

新しい号を開きたした。 12385

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡