問題
FlutterでfloatingActionButtonにshowModalBottomSheetを組み込もうとしたときに、「例外」を出してしまいました。
エラーに書いてあることを頼りにCopliotくんに聞いた、localizationDelegateをmaterialAppに追加する、という解決策ではうまくいきませんでした。
また、その誤った解決策を進めるにはflutter_localizationsというimportが必要で、それのダウンロードをするにはintlの最新版では依存関係がうまくいかずダウンロードできないということがありました
TextField requires a MaterialLocalizations widget
という記事も見つけ、原因がlocalizations Widgetが渡せていないことというのはわかってきたのですが、解決方法が二つ提示されていたなかで、
自分のディレクトリ構成の問題で、(main.dart(アプリのロジックを書く), App.dart(全体の設定を書く), page.dart(個別のwidgetを書く)のように作っていこうと決めていたおり、FloatingActionButtonはmaterial直下としてアプリの画面に共通してあるしApp.dartに置こうと決めた)
その記事の二つめの方法をとり、それでは解決にはいたりませんでした。
解決
stack overflowを眺めていると、TextField requires a MaterialLocalizations widgetの二つ目の方法を解決方法として書いており、どうやらこっちは間違いないらしいぞ、ということに気づき始めました。
今回の問題はmaterialAppが裏で渡しておいてくれるはずの情報が、べた書きしてしまったことで行き届いてなかったことが原因ーー素直に別でwidgetとしてまとめれば、それで解決する。
ということで、floatingActionButtonの名前付き引数に直接充てていたFloatingActionButtonをstfulWigetでくくることで、ようやく解決することができました……
初めて書いたうえ、少し急いでいるので、至らない部分があったら申し訳ないです……