showTopTutorialOnWidget method
void
showTopTutorialOnWidget
(BuildContext context, GlobalKey<State<StatefulWidget>> globalKey, Color primaryColor, VoidCallback positiveCallback, String title, String subtitle, String positiveBtn, { LineHorizontalPosition lineHorizontalPosition, Widget childBoxWidget, bool showLine: true, double lineHeight: 7.0, Widget circleWidget, bool barrierDismissable: true })
Implementation
static void showTopTutorialOnWidget(
BuildContext context,
GlobalKey globalKey,
Color primaryColor,
VoidCallback positiveCallback,
String title,
String subtitle,
String positiveBtn,
{
LineHorizontalPosition lineHorizontalPosition,
Widget childBoxWidget,
bool showLine = true,
double lineHeight = 7.0,
Widget circleWidget,
bool barrierDismissable = true,
}
) {
try {
final box = globalKey.currentContext.findRenderObject() as RenderBox;
Rect rect = box.localToGlobal(Offset.zero) & box.size;
showGeneralDialog(
context: context,
pageBuilder: (BuildContext buildContext, Animation<double> animation,
Animation<double> secondaryAnimation) {
return Scaffold(
backgroundColor: Colors.transparent,
body: SafeArea(
child: Builder(
builder: (BuildContext context) {
return Stack(
children: <Widget>[
_invisibleWidget(rect),
// CHILD
_topIntroductionWidget(
rect,
context,
primaryColor,
title,
subtitle,
positiveBtn,
positiveCallback,
showLine,
lineHeight,
lineHorizontalPosition: lineHorizontalPosition,
childBoxWidget: childBoxWidget,
circleWidget: circleWidget,
),
],
);
}
),
),
);
},
barrierDismissible: barrierDismissable,
barrierLabel: MaterialLocalizations
.of(context)
.modalBarrierDismissLabel,
transitionDuration: const Duration(milliseconds: 150),
);
} catch (e) {
print("ERROR $e");
}
}