質問編集履歴

2

試した結果を追記

2020/08/18 15:13

投稿

grief137
grief137

スコア14

test CHANGED
File without changes
test CHANGED
@@ -16,14 +16,28 @@
16
16
 
17
17
 
18
18
 
19
- しかし、子Widget2回目のドラッグの際にGestureDetectorが反応せず、背景のInteractiveViewerのGestureDetectorが反応してしまいます。
19
+ しかし、子Widgetが1回目はドラッグによって位置を変更できますが、2回目のドラッグしようとするとGestureDetectorが反応せず、背景のInteractiveViewerのGestureDetectorが反応してしまいます。
20
-
20
+
21
- (そしてOverlayの位置が親Widgetら独立してしまう...)
21
+ (そして子Widgetの位置が親(InteractiveViewer)についていない...)
22
22
 
23
23
 
24
24
 
25
25
  解決方法が検討つかず、何か良い方法はないかとアドバイスを頂きたく投稿しました。
26
26
 
27
+ どうぞよろしくお願い致します。
28
+
29
+
30
+
31
+ ###### 2020/08/19追記
32
+
33
+ OverlayEntryを手放すしていなかった為、ZoomOverlayのdisposeメソッドでOverlayEntry.remove()を追加。
34
+
35
+ 子Widgetが親についていくようになりました。
36
+
37
+ (2回目ドラッグが効かない問題は解消していない)
38
+
39
+
40
+
27
41
 
28
42
 
29
43
 
@@ -32,7 +46,7 @@
32
46
 
33
47
  子Widgetに以下パターンを試しました。
34
48
 
35
- ①Overlayを利用:2回目にGestureDetectorが反応しない、子Widgetの位置が親Widgetに追従しない
49
+ ①Overlayを利用:2回目にGestureDetectorが反応しない
36
50
 
37
51
  ②estureDetectorのみ利用:元の画面サイズを超える領域に表示できない
38
52
 
@@ -42,9 +56,11 @@
42
56
 
43
57
 
44
58
 
45
- ### 現状の動作
59
+ ### 現状の動作 (2020/08/19現在)
60
+
46
-
61
+ Overlayを使用した場合の挙動です。
62
+
47
- ![イメージ説明](df3069ce9ed9a744c14954024f5b03f8.gif)
63
+ ![イメージ説明](c57c37c6a766abe303ff141a73bed9c6.gif)
48
64
 
49
65
 
50
66
 
@@ -426,6 +442,20 @@
426
442
 
427
443
  @override
428
444
 
445
+ void dispose() {
446
+
447
+ _overlayEntry.remove();
448
+
449
+ _overlayEntry = null;
450
+
451
+ super.dispose();
452
+
453
+ }
454
+
455
+
456
+
457
+ @override
458
+
429
459
  Widget build(BuildContext context) {
430
460
 
431
461
  return Positioned.fromRect(

1

説明文追加

2020/08/18 15:13

投稿

grief137
grief137

スコア14

test CHANGED
File without changes
test CHANGED
@@ -30,6 +30,8 @@
30
30
 
31
31
  ### 試したこと
32
32
 
33
+ 子Widgetに以下パターンを試しました。
34
+
33
35
  ①Overlayを利用:2回目にGestureDetectorが反応しない、子Widgetの位置が親Widgetに追従しない
34
36
 
35
37
  ②estureDetectorのみ利用:元の画面サイズを超える領域に表示できない