Flutter PopupMenuButton onLongPressed Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) Data science time! April 2019 and salary with experience The Ask Question Wizard is Live!Flex 3 PopUpMenuButton and ReferenceError #1069Error in embeding icons in PopUpMenuButton nodeFlutter (Dart): Highlight or select a widget (Tile or any element) onLongPress eventFlutter ListTile enable multi-select onLongPressFlutter - onTapUp isn't called after onLongPressFlutter - I want to select the card by onLongPress?Set OnLongPressed event on Scaffold FlutterFlutter - showing a PopupMenuButton in BottomNavigationBarIcon not showing up in PopupMenuButton in Flutterhello ,,,,,when I am clicking on card then show me this error how to fix this error

Do wooden building fires get hotter than 600°C?

How to answer "Have you ever been terminated?"

When was Kai Tak permanently closed to cargo service?

Is CEO the profession with the most psychopaths?

Irreducible of finite Krull dimension implies quasi-compact?

Is it cost-effective to upgrade an old-ish Giant Escape R3 commuter bike with entry-level branded parts (wheels, drivetrain)?

How to Make a Beautiful Stacked 3D Plot

What are the out-of-universe reasons for the references to Toby Maguire-era Spider-Man in ITSV

Why wasn't DOSKEY integrated with COMMAND.COM?

Can an alien society believe that their star system is the universe?

If my PI received research grants from a company to be able to pay my postdoc salary, did I have a potential conflict interest too?

How can I use the Python library networkx from Mathematica?

Circuit to "zoom in" on mV fluctuations of a DC signal?

Why do we bend a book to keep it straight?

Where are Serre’s lectures at Collège de France to be found?

For a new assistant professor in CS, how to build/manage a publication pipeline

An adverb for when you're not exaggerating

How do I stop a creek from eroding my steep embankment?

What is the longest distance a player character can jump in one leap?

In what way is everyone not a utilitarian

Most bit efficient text communication method?

Can melee weapons be used to deliver Contact Poisons?

Generate an RGB colour grid

Fundamental Solution of the Pell Equation



Flutter PopupMenuButton onLongPressed



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)
Data science time! April 2019 and salary with experience
The Ask Question Wizard is Live!Flex 3 PopUpMenuButton and ReferenceError #1069Error in embeding icons in PopUpMenuButton nodeFlutter (Dart): Highlight or select a widget (Tile or any element) onLongPress eventFlutter ListTile enable multi-select onLongPressFlutter - onTapUp isn't called after onLongPressFlutter - I want to select the card by onLongPress?Set OnLongPressed event on Scaffold FlutterFlutter - showing a PopupMenuButton in BottomNavigationBarIcon not showing up in PopupMenuButton in Flutterhello ,,,,,when I am clicking on card then show me this error how to fix this error



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








1















I'm trying to show a menu context on a custom widget I created when it is long pressed(on tap has another behaviour).



I tried to use GestureDetector with onLongPress and use the function showMenu but it shows the menu in the corner, not over the widget pressed. I've seen a workaround to get the position of the widget and pass it to the showMenu but it looks messy to me.



 return new GestureDetector(
child: _defaultBuild(),
onTap: onTap,
onLongPress: ()
showMenu(
items: <PopupMenuEntry>[
PopupMenuItem(
//value: this._index,
child: Row(
children: <Widget>[
Text("Context item1")
],
),
)
],
context: context,
position: _getPosition(context)
);

);
RelativeRect _getPosition(BuildContext context)
final RenderBox bar = context.findRenderObject();
final RenderBox overlay = Overlay.of(context).context.findRenderObject();
final RelativeRect position = RelativeRect.fromRect(
Rect.fromPoints(
bar.localToGlobal(bar.size.bottomRight(Offset.zero), ancestor: overlay),
bar.localToGlobal(bar.size.bottomRight(Offset.zero), ancestor: overlay),
),
Offset.zero & overlay.size,
);
return position;



I've tried also to use PopupMenuButton but I wasn't able to show the menu onLongPressed.



Any ideas?










share|improve this question






























    1















    I'm trying to show a menu context on a custom widget I created when it is long pressed(on tap has another behaviour).



    I tried to use GestureDetector with onLongPress and use the function showMenu but it shows the menu in the corner, not over the widget pressed. I've seen a workaround to get the position of the widget and pass it to the showMenu but it looks messy to me.



     return new GestureDetector(
    child: _defaultBuild(),
    onTap: onTap,
    onLongPress: ()
    showMenu(
    items: <PopupMenuEntry>[
    PopupMenuItem(
    //value: this._index,
    child: Row(
    children: <Widget>[
    Text("Context item1")
    ],
    ),
    )
    ],
    context: context,
    position: _getPosition(context)
    );

    );
    RelativeRect _getPosition(BuildContext context)
    final RenderBox bar = context.findRenderObject();
    final RenderBox overlay = Overlay.of(context).context.findRenderObject();
    final RelativeRect position = RelativeRect.fromRect(
    Rect.fromPoints(
    bar.localToGlobal(bar.size.bottomRight(Offset.zero), ancestor: overlay),
    bar.localToGlobal(bar.size.bottomRight(Offset.zero), ancestor: overlay),
    ),
    Offset.zero & overlay.size,
    );
    return position;



    I've tried also to use PopupMenuButton but I wasn't able to show the menu onLongPressed.



    Any ideas?










    share|improve this question


























      1












      1








      1








      I'm trying to show a menu context on a custom widget I created when it is long pressed(on tap has another behaviour).



      I tried to use GestureDetector with onLongPress and use the function showMenu but it shows the menu in the corner, not over the widget pressed. I've seen a workaround to get the position of the widget and pass it to the showMenu but it looks messy to me.



       return new GestureDetector(
      child: _defaultBuild(),
      onTap: onTap,
      onLongPress: ()
      showMenu(
      items: <PopupMenuEntry>[
      PopupMenuItem(
      //value: this._index,
      child: Row(
      children: <Widget>[
      Text("Context item1")
      ],
      ),
      )
      ],
      context: context,
      position: _getPosition(context)
      );

      );
      RelativeRect _getPosition(BuildContext context)
      final RenderBox bar = context.findRenderObject();
      final RenderBox overlay = Overlay.of(context).context.findRenderObject();
      final RelativeRect position = RelativeRect.fromRect(
      Rect.fromPoints(
      bar.localToGlobal(bar.size.bottomRight(Offset.zero), ancestor: overlay),
      bar.localToGlobal(bar.size.bottomRight(Offset.zero), ancestor: overlay),
      ),
      Offset.zero & overlay.size,
      );
      return position;



      I've tried also to use PopupMenuButton but I wasn't able to show the menu onLongPressed.



      Any ideas?










      share|improve this question
















      I'm trying to show a menu context on a custom widget I created when it is long pressed(on tap has another behaviour).



      I tried to use GestureDetector with onLongPress and use the function showMenu but it shows the menu in the corner, not over the widget pressed. I've seen a workaround to get the position of the widget and pass it to the showMenu but it looks messy to me.



       return new GestureDetector(
      child: _defaultBuild(),
      onTap: onTap,
      onLongPress: ()
      showMenu(
      items: <PopupMenuEntry>[
      PopupMenuItem(
      //value: this._index,
      child: Row(
      children: <Widget>[
      Text("Context item1")
      ],
      ),
      )
      ],
      context: context,
      position: _getPosition(context)
      );

      );
      RelativeRect _getPosition(BuildContext context)
      final RenderBox bar = context.findRenderObject();
      final RenderBox overlay = Overlay.of(context).context.findRenderObject();
      final RelativeRect position = RelativeRect.fromRect(
      Rect.fromPoints(
      bar.localToGlobal(bar.size.bottomRight(Offset.zero), ancestor: overlay),
      bar.localToGlobal(bar.size.bottomRight(Offset.zero), ancestor: overlay),
      ),
      Offset.zero & overlay.size,
      );
      return position;



      I've tried also to use PopupMenuButton but I wasn't able to show the menu onLongPressed.



      Any ideas?







      flutter long-press popupmenubutton






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Mar 9 at 18:53







      niegus

















      asked Mar 8 at 18:45









      niegusniegus

      3231619




      3231619






















          0






          active

          oldest

          votes












          Your Answer






          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "1"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55069228%2fflutter-popupmenubutton-onlongpressed%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55069228%2fflutter-popupmenubutton-onlongpressed%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          1928 у кіно

          Захаров Федір Захарович

          Ель Греко