質問編集履歴
2
試した結果を追記
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -7,21 +7,29 @@
|
|
|
7
7
|
(Overlayの利用には以下記事を参考)
|
|
8
8
|
https://medium.com/@billyleverington/building-instagrams-pinch-zoom-and-drag-a-photo-in-flutter-110f29a79bb7
|
|
9
9
|
|
|
10
|
-
しかし、子Widget
|
|
10
|
+
しかし、子Widgetが1回目はドラッグによって位置を変更できますが、2回目のドラッグしようとするとGestureDetectorが反応せず、背景のInteractiveViewerのGestureDetectorが反応してしまいます。
|
|
11
|
-
(そして
|
|
11
|
+
(そして子Widgetの位置が親(InteractiveViewer)についていかない...)
|
|
12
12
|
|
|
13
13
|
解決方法が検討つかず、何か良い方法はないかとアドバイスを頂きたく投稿しました。
|
|
14
|
+
どうぞよろしくお願い致します。
|
|
14
15
|
|
|
16
|
+
###### 2020/08/19追記
|
|
17
|
+
OverlayEntryを手放すしていなかった為、ZoomOverlayのdisposeメソッドでOverlayEntry.remove()を追加。
|
|
18
|
+
子Widgetが親についていくようになりました。
|
|
19
|
+
(2回目ドラッグが効かない問題は解消していない)
|
|
15
20
|
|
|
21
|
+
|
|
22
|
+
|
|
16
23
|
### 試したこと
|
|
17
24
|
子Widgetに以下パターンを試しました。
|
|
18
|
-
①Overlayを利用:2回目にGestureDetectorが反応しない
|
|
25
|
+
①Overlayを利用:2回目にGestureDetectorが反応しない
|
|
19
26
|
②estureDetectorのみ利用:元の画面サイズを超える領域に表示できない
|
|
20
27
|
③InteractiveViewerを利用:2回目にGestureDetectorが反応しない
|
|
21
28
|
|
|
22
29
|
|
|
23
|
-
### 現状の動作
|
|
30
|
+
### 現状の動作 (2020/08/19現在)
|
|
31
|
+
Overlayを使用した場合の挙動です。
|
|
24
|
-

|
|
25
33
|
|
|
26
34
|
|
|
27
35
|
### ソースコード
|
|
@@ -212,6 +220,13 @@
|
|
|
212
220
|
GlobalKey<_TransformWidgetState>();
|
|
213
221
|
|
|
214
222
|
@override
|
|
223
|
+
void dispose() {
|
|
224
|
+
_overlayEntry.remove();
|
|
225
|
+
_overlayEntry = null;
|
|
226
|
+
super.dispose();
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
@override
|
|
215
230
|
Widget build(BuildContext context) {
|
|
216
231
|
return Positioned.fromRect(
|
|
217
232
|
rect: Rect.fromCenter(
|
1
説明文追加
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
### 試したこと
|
|
17
|
+
子Widgetに以下パターンを試しました。
|
|
17
18
|
①Overlayを利用:2回目にGestureDetectorが反応しない、子Widgetの位置が親Widgetに追従しない
|
|
18
19
|
②estureDetectorのみ利用:元の画面サイズを超える領域に表示できない
|
|
19
20
|
③InteractiveViewerを利用:2回目にGestureDetectorが反応しない
|