回答編集履歴
3
追記
answer
CHANGED
@@ -27,7 +27,7 @@
|
|
27
27
|
|
28
28
|
```
|
29
29
|
|
30
|
-
スピナーをオーバーレイ表示にしたい場合はこっちが向いている?
|
30
|
+
スピナーを[オーバーレイ表示](https://pub.dev/packages/loading_overlay)にしたい場合はこっちが向いている?
|
31
31
|
|
32
32
|
(2)は、`FutureBuilder`で`ssnapshot.hasData`が`false`の時はスピナー表示、`true`になったらスピナーを消すという風にやればいいと思います。
|
33
33
|
|
2
追記
answer
CHANGED
@@ -1,6 +1,32 @@
|
|
1
1
|
(1)も(2)も実現可能です。
|
2
2
|
|
3
3
|
(1)に関しては「ページ遷移で完了」ではなく、「ファイル作成で完了」という考え方にシフトしたほうがやりやすいと思います。ボタン押下時、ファイルダウンロード完了時に`setState`でスピナー表示/非表示を切り替えるなど。
|
4
|
+
|
5
|
+
イメージ↓
|
6
|
+
動画選択時の処理
|
7
|
+
```Dart
|
8
|
+
bool _loading = false;
|
9
|
+
|
10
|
+
void _downloadVideo() async {
|
11
|
+
// スピナー表示
|
12
|
+
setState(() => _loading = true);
|
13
|
+
_file = await xxxxxxxxxxxx().then((data) {
|
14
|
+
// ダウンロード終了後
|
15
|
+
// スピナー非表示
|
16
|
+
setState(() => _loading = false);
|
17
|
+
// 画面遷移
|
18
|
+
Navigator.xxxxxxxxxxxxxxxxxxxxxxxxxx;
|
19
|
+
});
|
20
|
+
}
|
21
|
+
|
22
|
+
...
|
23
|
+
child: _loading
|
24
|
+
? CircularProgressIndicator() // _loadingがtrueならスピナー表示
|
25
|
+
: VideoListView(), // falseなら一覧表示
|
26
|
+
...
|
27
|
+
|
28
|
+
```
|
29
|
+
|
4
30
|
スピナーをオーバーレイ表示にしたい場合はこっちが向いている?
|
5
31
|
|
6
32
|
(2)は、`FutureBuilder`で`ssnapshot.hasData`が`false`の時はスピナー表示、`true`になったらスピナーを消すという風にやればいいと思います。
|
1
追記
answer
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
(1)も(2)も実現可能です。
|
2
2
|
|
3
3
|
(1)に関しては「ページ遷移で完了」ではなく、「ファイル作成で完了」という考え方にシフトしたほうがやりやすいと思います。ボタン押下時、ファイルダウンロード完了時に`setState`でスピナー表示/非表示を切り替えるなど。
|
4
|
+
スピナーをオーバーレイ表示にしたい場合はこっちが向いている?
|
4
5
|
|
5
6
|
(2)は、`FutureBuilder`で`ssnapshot.hasData`が`false`の時はスピナー表示、`true`になったらスピナーを消すという風にやればいいと思います。
|
6
7
|
|