私のContentViewをロードするときに表示される「ローダー」を作成したいとします。 YouTubeアプリケーションでこのようXamarinフォーム - ロードページのベストプラクティス
:私はタブボタンをクリックしたときに
あなたが見ることができるように、ローダーが表示されます。
しかし、Xamarin.Formsでは、ContentViewはローダーを非表示にしていないため、ContentViewはそれを行う方法がわかりません。 (そして私のローダーは私のContentViewと同時に表示されるからです)。 ボタンをクリックすると、約200msの間にアプリが「フリーズ」する...ユーザーエクスペリエンスには不向き...
これは私のコンテンツを表示するためのベストプラクティスですか?
<AbsoluteLayout>
<Grid ... IsVisible="{Binding IsBusy, Converter={StaticResource InvertBooleanConverter}}"> ... </Grid>
<Image ... IsVisible="{Binding IsBusy}" />
</AbsoluteLayout>
あなたのViewModelにIsBusyというプロパティを作成しますので、は次のようにあなたは、あなたのXAMLでの絶対的なレイアウト内のローディング画像及びグリッド(またはものは何でもあなたが必要とする)を追加することができます
おかげ
をそれをチェックアウトページ上のローダインジケーターを追加します。ページが読み込まれているときに実行する必要があります。タスクのページコンテンツを読み込むためのバックグラウンドプロセスを開始します。コンテンツがロードされると、タスクが終了し、ローダーを停止してコンテンツをロードします(非表示にすることができます)。タスクが終了したらUIスレッドを実行してください。 –
@YuriSこんにちは、ありがとうございます。しかし、ビューを使って "コンテンツが読み込まれる"ようにするにはどうすればいいですか?私の他の質問を確認してください:https://stackoverflow.com/questions/47266871/navigation-with-bottom-bar-customisation – Naografix
私は別の質問が正確にどのように関係しているか分かりません。私はあなたが答えるために読み込んでいるコンテンツについてもっと知る必要があります。通常、コンポーネントにはイベントが表示されているか、呼び出しがブロックされているかのいずれかのイベントがあります。そのため、タスクに入っている場合、コンテンツが読み込まれるとタスクが終了します。あなたは使用することができます –