Skip to content

Commit

Permalink
minor update
Browse files Browse the repository at this point in the history
  • Loading branch information
ponnamkarthik committed Apr 14, 2024
1 parent f92a6be commit a0c1abb
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 12 deletions.
2 changes: 1 addition & 1 deletion example/android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

android {
compileSdkVersion 31
compileSdkVersion 33
ndkVersion flutter.ndkVersion

compileOptions {
Expand Down
49 changes: 38 additions & 11 deletions lib/fluttertoast.dart
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,26 @@ enum Toast {

/// ToastGravity
/// Used to define the position of the Toast on the screen
enum ToastGravity { TOP, BOTTOM, CENTER, TOP_LEFT, TOP_RIGHT, BOTTOM_LEFT, BOTTOM_RIGHT, CENTER_LEFT, CENTER_RIGHT, SNACKBAR, NONE }
enum ToastGravity {
TOP,
BOTTOM,
CENTER,
TOP_LEFT,
TOP_RIGHT,
BOTTOM_LEFT,
BOTTOM_RIGHT,
CENTER_LEFT,
CENTER_RIGHT,
SNACKBAR,
NONE
}

/// Plugin to show a toast message on screen
/// Only for android, ios and Web platforms
class Fluttertoast {
/// [MethodChannel] used to communicate with the platform side.
static const MethodChannel _channel = const MethodChannel('PonnamKarthik/fluttertoast');
static const MethodChannel _channel =
const MethodChannel('PonnamKarthik/fluttertoast');

/// Let say you have an active show
/// Use this method to hide the toast immediately
Expand Down Expand Up @@ -90,7 +103,8 @@ class Fluttertoast {
}

/// Signature for a function to buildCustom Toast
typedef PositionedToastBuilder = Widget Function(BuildContext context, Widget child);
typedef PositionedToastBuilder = Widget Function(
BuildContext context, Widget child);

/// Runs on dart side this has no interaction with the Native Side
/// Works with all platforms just in two lines of code
Expand Down Expand Up @@ -224,7 +238,8 @@ class FToast {
bool ignorePointer = false,
bool isDismissable = false,
}) {
if (context == null) throw ("Error: Context is null, Please call init(context) before showing toast.");
if (context == null)
throw ("Error: Context is null, Please call init(context) before showing toast.");
Widget newChild = _ToastStateFul(
child,
toastDuration,
Expand All @@ -245,10 +260,12 @@ class FToast {
}

OverlayEntry newEntry = OverlayEntry(builder: (context) {
if (positionedToastBuilder != null) return positionedToastBuilder(context, newChild);
if (positionedToastBuilder != null)
return positionedToastBuilder(context, newChild);
return _getPostionWidgetBasedOnGravity(newChild, gravity);
});
_overlayQueue.add(_ToastEntry(entry: newEntry, duration: toastDuration, fadeDuration: fadeDuration));
_overlayQueue.add(_ToastEntry(
entry: newEntry, duration: toastDuration, fadeDuration: fadeDuration));
if (_timer == null) _showOverlay();
}

Expand All @@ -264,7 +281,8 @@ class FToast {
case ToastGravity.TOP_RIGHT:
return Positioned(top: 100.0, right: 24.0, child: child);
case ToastGravity.CENTER:
return Positioned(top: 50.0, bottom: 50.0, left: 24.0, right: 24.0, child: child);
return Positioned(
top: 50.0, bottom: 50.0, left: 24.0, right: 24.0, child: child);
case ToastGravity.CENTER_LEFT:
return Positioned(top: 50.0, bottom: 50.0, left: 24.0, child: child);
case ToastGravity.CENTER_RIGHT:
Expand All @@ -274,7 +292,11 @@ class FToast {
case ToastGravity.BOTTOM_RIGHT:
return Positioned(bottom: 50.0, right: 24.0, child: child);
case ToastGravity.SNACKBAR:
return Positioned(bottom: MediaQuery.of(context!).viewInsets.bottom, left: 0, right: 0, child: child);
return Positioned(
bottom: MediaQuery.of(context!).viewInsets.bottom,
left: 0,
right: 0,
child: child);
case ToastGravity.NONE:
return Positioned.fill(child: child);
case ToastGravity.BOTTOM:
Expand Down Expand Up @@ -341,7 +363,10 @@ class _ToastEntry {
/// internal [StatefulWidget] which handles the show and hide
/// animations for [FToast]
class _ToastStateFul extends StatefulWidget {
_ToastStateFul(this.child, this.duration, this.fadeDuration, this.ignorePointer, this.onDismiss, {Key? key}) : super(key: key);
_ToastStateFul(this.child, this.duration, this.fadeDuration,
this.ignorePointer, this.onDismiss,
{Key? key})
: super(key: key);

final Widget child;
final Duration duration;
Expand All @@ -354,7 +379,8 @@ class _ToastStateFul extends StatefulWidget {
}

/// State for [_ToastStateFul]
class ToastStateFulState extends State<_ToastStateFul> with SingleTickerProviderStateMixin {
class ToastStateFulState extends State<_ToastStateFul>
with SingleTickerProviderStateMixin {
/// Start the showing animations for the toast
showIt() {
_animationController!.forward();
Expand All @@ -378,7 +404,8 @@ class ToastStateFulState extends State<_ToastStateFul> with SingleTickerProvider
vsync: this,
duration: widget.fadeDuration,
);
_fadeAnimation = CurvedAnimation(parent: _animationController!, curve: Curves.easeIn);
_fadeAnimation =
CurvedAnimation(parent: _animationController!, curve: Curves.easeIn);
super.initState();

showIt();
Expand Down

0 comments on commit a0c1abb

Please sign in to comment.