2017-12-12 12 views
1

ユーザが画面を押すたびにウィジェットを描画しようとしています。 現在、私はウィジェットのリストを格納することでこれをやっています。そして、ontapupがジェスチャーで起動されたとき、私はウィジェットのリストに追加しています。現在のウィジェットのオフセットを取得する方法

Widget build(BuildContext context) { 
Widget draw = new Text("A"); 
List<Widget> children = new List<Widget>(); 
return new Scaffold(
    appBar: new AppBar(
    title: const Text('Heading'), 
    leading: new Icon(Icons.question_answer), 
), 
    body: new GestureDetector(
    onTapUp: (details) { 
     setState(() { 
      children.add(new Positioned(
      left: details.globalPosition.dx, 
      top: details.globalPosition.dy, 
      child: draw, 
     )); 
     }); 
    }, 
    child: new Stack(children: children) 
    ... 

だから私のコードは、私がクリックしたときに、私はウィジェットを描いています取り組んでいるが、私の問題は、追加するときに、新しい位置指定()の位置をスタックにオフセットアプリケーションバーが含まれていない画面に基づいています。スタックの最初のx/y位置を取得する方法はありますか?または、appbarsの高さを取得する方法はありますか?ウィジェットの位置や高さ/幅を取得するにはどうすればよいですか?私は自分のウィジェットを作成して使用するために必要な、同じ問題を持っている誰のための

答えて

2

[OK]を

context.findRenderObject() 

globalToLocal() 
ながら動作しませんでしたローカルにちょうどFYIグローバル

1つの溶液中私はそれを独自のウィジェットにする必要がありました。