Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 203891f

Browse files
εŠ¨η”»
1 parent 7bb958b commit 203891f

File tree

1 file changed

+34
-12
lines changed

1 file changed

+34
-12
lines changed

β€Žlib/flutter_custom_dialog.dart

Lines changed: 34 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,7 @@ class YYDialog {
234234

235235
Size size = MediaQuery.of(context).size;
236236
CustomDialog(
237+
gravity: gravity,
237238
context: context,
238239
child: Column(
239240
textDirection: TextDirection.ltr,
@@ -277,15 +278,18 @@ class CustomDialog {
277278
Color _barrierColor = Colors.black.withOpacity(.3);
278279
RouteTransitionsBuilder _transitionsBuilder;
279280
bool _barrierDismissible = true;
281+
Gravity _gravity = Gravity.bottom;
280282

281283
CustomDialog({
282284
@required Widget child,
283285
@required BuildContext context,
284286
Duration duration,
285287
Color barrierColor,
286288
RouteTransitionsBuilder transitionsBuilder,
289+
Gravity gravity,
287290
}) : _child = child,
288-
_context = context {
291+
_context = context,
292+
_gravity = gravity {
289293
if (duration != null) {
290294
_duration = duration;
291295
}
@@ -324,17 +328,35 @@ class CustomDialog {
324328
Animation<double> animation,
325329
Animation<double> secondaryAnimation,
326330
Widget child) {
327-
// return FadeTransition(
328-
// opacity: CurvedAnimation(
329-
// parent: animation,
330-
// curve: Curves.easeOut,
331-
// ),
332-
// child: child,
333-
// );
334-
Animation<Offset> custom = Tween<Offset>(
335-
begin: Offset(0.0, 1.0),
336-
end: Offset(0.0, 0.0),
337-
).animate(animation);
331+
Animation<Offset> custom;
332+
switch (_gravity) {
333+
case Gravity.top:
334+
custom = Tween<Offset>(
335+
begin: Offset(0.0, -1.0),
336+
end: Offset(0.0, 0.0),
337+
).animate(animation);
338+
break;
339+
case Gravity.left:
340+
custom = Tween<Offset>(
341+
begin: Offset(-1.0, 0.0),
342+
end: Offset(0.0, 0.0),
343+
).animate(animation);
344+
break;
345+
case Gravity.right:
346+
custom = Tween<Offset>(
347+
begin: Offset(1.0, 0.0),
348+
end: Offset(0.0, 0.0),
349+
).animate(animation);
350+
break;
351+
case Gravity.bottom:
352+
default:
353+
custom = Tween<Offset>(
354+
begin: Offset(0.0, 1.0),
355+
end: Offset(0.0, 0.0),
356+
).animate(animation);
357+
break;
358+
}
359+
338360
return SlideTransition(
339361
position: custom,
340362
child: child,

0 commit comments

Comments
(0)

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /