>>344
>プロパティ変更もあるけど、痛いのはVisible制御がないってことだよね

試したけど、一応こんな書き方(※)でいける。

bool _busyState = false;

void _execFunc() async {
setState(() { _busyState = true; } );
// 何か時間のかかる処理
setState(() { _busyState = false; } );
}

Widget build(BuildContext context) {
// 中略
child: Column(
children: <Widget>[
Text(_busyState ? "処理中":"今は何も実行してまへん"),
if(_busyState)
CircularProgressIndicator(),
ElevatedButton(
label: const Text('処理実行'),
onPressed: _execFunc,
),
],
),
// 中略
}

※ CircularProgressIndicator()直前のif()でウイジットの表示/非表示の制御。

ちなみにelse節は書けない(書くとエラー)。 またif() の後に { } も使えない。 Dartの言語仕様が場当たり的で一貫性がない。