build method
Widget
build(
- _LayoutP layoutp,
)
Implementation
Widget build(_LayoutP layoutp, MenuLayout menu) {
return GestureDetector(
behavior: HitTestBehavior.translucent,
onTap: () {
dismiss();
},
onVerticalDragStart: (DragStartDetails details) {
dismiss();
},
onHorizontalDragStart: (DragStartDetails details) {
dismiss();
},
child: Material(
color: Colors.transparent,
child: Container(
child: Stack(
children: <Widget>[
// triangle arrow
Positioned(
left: layoutp.attachRect.left +
layoutp.attachRect.width / 2.0 -
7.5,
top: layoutp.isDown
? layoutp.offset.dy + layoutp.height
: layoutp.offset.dy - config.arrowHeight,
child: CustomPaint(
size: Size(15.0, config.arrowHeight),
painter: TrianglePainter(
isDown: layoutp.isDown, color: config.backgroundColor),
),
),
// menu content
Positioned(
left: layoutp.offset.dx,
top: layoutp.offset.dy,
child: menu.build(),
)
],
),
)),
);
}