【Xamarin.Forms】プログレスバーを表示するメモ

スマホユーザーならおなじみのこちら、プログレスバー

今回はこれを Xamarin.Forms 上で表示していきます。

MessagingCenterでプラットフォーム別に処理を書く

今回行いたい処理は各プラットフォームごとに異なる為、共通コードからMessagingCenterを使って呼び出します。

まずはAndroidの実装です。

Androidでダイアログの生成には AlertDialog を使います。

え、プログレスバーを表示したいんだから ProgressDialog を使えばいいじゃん?と思った方もいると思います。

残念ながら ProgressDialog はAPI Level 26で非推奨になってしまったのです。。。

悲しみの舞

よって自分で作ったほうがいいわけです。

この例では AlertDialog のView に Widget.ProgressBar を追加して表示させています。

また、そのままだと上下に隙間がなくなってしまうのでp.SetPadding(0, 50, 0, 50) 上下に空間を開けています。

SetCancelable(false) を追加することにより、画面(ダイアログの外側)
をタップしても画面が閉じないようにしています。

共通コードから呼び出す

では実装ができたところで共通コードから呼び出します。

呼び出しはとても簡単で

と書くだけです。簡単ですね!


ここまで読んでくれてありがとうございました!!

ホームページでは他にも

・様々な記事や作った作品および過程
・ソースコード、素材ファイル
・あらゆる”モノ”の作り方

などなど随時、記事や作品を新規公開・更新していますので是非見ていってくださいね!見ていただけると本当に嬉しいです!

あわせて読みたい