FlutterFlowを使っていると、画面が真っ白になってしまい、原因がわからないことがありますよね。特にExpansionウィジェットをExpandedに設定した場合、この問題が発生することがよくあります。今回は、この問題の原因と対策について、わかりやすく解説します!
株式会社Spovisorではノーコード・ローコードツールを使ったシステム開発、アプリ開発を実施しています。
要件定義から伴走して支援し、安価・スピーディー・柔軟な開発を行います。無料でご相談もお受けしております。
どんなときに問題が起きる?
- FlutterFlowのUIエディタでExpansionを使う
- Expansionのデフォルト設定をExpandedに変更する
- 親ウィジェットがColumnやRowでも、子要素のTextがExpandedに設定されていると画面が真っ白になる
- エラーメッセージも出ず、原因がわからない
画面が真っ白だと焦ってしまいますが、安心してください!原因と解決方法を見ていきましょう。
原因は?
- Expandedとサイズの不一致
- Expandedは親ウィジェットのサイズを基準にスペースを調整します。
- しかし、親ウィジェット(ColumnやRow)のサイズが不明確だと、子要素(Textや他のウィジェット)がスペースを正しく取得できず、表示が崩れてしまいます。
- このようなケースだと、真っ白になります。
2. 親ウィジェットにContainerが必要
- ColumnやRowが親ウィジェットの場合でも、そのサイズが不明確だと、子要素がExpandedに対応できず画面が真っ白になります。
- 親ウィジェットのサイズ(横幅や縦幅)を明確に設定する必要があります。
3. エラーが表示されない
- FlutterFlowでは、エラーが画面に出ない場合があり、原因の特定が難しくなります。
対策方法
この問題を解決するために、以下の手順を試してみてください。
- Expansionをデフォルトの設定に戻す
- Expandedではなく、「Not Fill Space(デフォルト設定)」に戻しましょう。
- これだけで、画面が正常に表示されることが多いです。
- 親ウィジェットにContainerを使い、サイズを固定する
- 親ウィジェットにContainerを設定し、横幅または縦幅を明確に指定しましょう。
- サイズが明確になることで、Expandedのレイアウトが安定します。
- サイズを明示的に指定する
- Containerを使って、子要素(Textや他のウィジェット)のサイズを明示的に指定しましょう。
- これにより、レイアウトの崩れを防げます。
- デバッグログを確認する
- FlutterFlowのデバッグ機能を使い、問題が発生したときのログを確認します。
- エラーがわかりにくい場合は、FlutterFlowサポートに問い合わせるのも手です。
まとめ
FlutterFlowで画面が真っ白になる原因は、親ウィジェットのサイズが不明確な状態で子要素にExpandedを使っていることです。対策として、
- Not Fill Spaceの設定に戻す
- 親ウィジェットにContainerを使い、サイズ(横幅または縦幅)を固定する
- 子要素のサイズを明示的に指定する
この3つのポイントを押さえておけば、問題を解決できるはずです!それでも解決しない場合は、デバッグ機能を活用して原因を特定してみてください。
FlutterFlowを使いこなして、快適なUI開発を楽しみましょう!
株式会社Spovisorではノーコード・ローコードツールを使ったシステム開発、アプリ開発を実施しています。
要件定義から伴走して支援し、安価・スピーディー・柔軟な開発を行います。無料でご相談もお受けしております。