FlutterでWidgetの表示・非表示を動的に切り替える方法メモです。
結論
空の Container
を使う。
環境
- Flutter 0.1.5
- Dart 2.0.0-dev.28.0
サンプルコード
Widget foo(bool isVisible) {
if (isVisibile) {
return Text("foo");
} else {
return Container(); // Empty Container Widget
}
}
補足
- Androidのvisibilityにあたるものが2018/03時点でなさそうなので、このようにするしかなさそうです。
- opacityを0.0に設定しても見た目消えるのですが要素は残ったままなので空の
Container
で差し替えたほうが良さそうです。
参考
android - show/hide widgets on Flutter programmatically - Stack Overflow
https://stackoverflow.com/questions/44489804/show-hide-widgets-on-flutter-programmatically