質問するログイン新規登録

質問編集履歴

2

試した結果を追記

2020/08/18 15:13

投稿

grief137
grief137

スコア14

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
- しかし、子Widget2回目のドラッグの際にGestureDetectorが反応せず、背景のInteractiveViewerのGestureDetectorが反応してしまいます。
10
+ しかし、子Widgetが1回目はドラッグによって位置を変更できますが、2回目のドラッグしようとするとGestureDetectorが反応せず、背景のInteractiveViewerのGestureDetectorが反応してしまいます。
11
- (そしてOverlayの位置が親Widgetから独立ししまう...)
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が反応しない、子Widgetの位置が親Widgetに追従しない
25
+ ①Overlayを利用:2回目にGestureDetectorが反応しない
19
26
  ②estureDetectorのみ利用:元の画面サイズを超える領域に表示できない
20
27
  ③InteractiveViewerを利用:2回目にGestureDetectorが反応しない
21
28
 
22
29
 
23
- ### 現状の動作
30
+ ### 現状の動作 (2020/08/19現在)
31
+ Overlayを使用した場合の挙動です。
24
- ![イメージ説明](df3069ce9ed9a744c14954024f5b03f8.gif)
32
+ ![イメージ説明](c57c37c6a766abe303ff141a73bed9c6.gif)
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

説明文追加

2020/08/18 15:13

投稿

grief137
grief137

スコア14

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が反応しない