Commit a0c1abbe by Karthik Ponnam

minor update

parent f92a6be8
...@@ -26,7 +26,7 @@ apply plugin: 'kotlin-android' ...@@ -26,7 +26,7 @@ apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android { android {
compileSdkVersion 31 compileSdkVersion 33
ndkVersion flutter.ndkVersion ndkVersion flutter.ndkVersion
compileOptions { compileOptions {
......
...@@ -14,13 +14,26 @@ enum Toast { ...@@ -14,13 +14,26 @@ enum Toast {
/// ToastGravity /// ToastGravity
/// Used to define the position of the Toast on the screen /// 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 /// Plugin to show a toast message on screen
/// Only for android, ios and Web platforms /// Only for android, ios and Web platforms
class Fluttertoast { class Fluttertoast {
/// [MethodChannel] used to communicate with the platform side. /// [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 /// Let say you have an active show
/// Use this method to hide the toast immediately /// Use this method to hide the toast immediately
...@@ -90,7 +103,8 @@ class Fluttertoast { ...@@ -90,7 +103,8 @@ class Fluttertoast {
} }
/// Signature for a function to buildCustom Toast /// 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 /// Runs on dart side this has no interaction with the Native Side
/// Works with all platforms just in two lines of code /// Works with all platforms just in two lines of code
...@@ -224,7 +238,8 @@ class FToast { ...@@ -224,7 +238,8 @@ class FToast {
bool ignorePointer = false, bool ignorePointer = false,
bool isDismissable = 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( Widget newChild = _ToastStateFul(
child, child,
toastDuration, toastDuration,
...@@ -245,10 +260,12 @@ class FToast { ...@@ -245,10 +260,12 @@ class FToast {
} }
OverlayEntry newEntry = OverlayEntry(builder: (context) { OverlayEntry newEntry = OverlayEntry(builder: (context) {
if (positionedToastBuilder != null) return positionedToastBuilder(context, newChild); if (positionedToastBuilder != null)
return positionedToastBuilder(context, newChild);
return _getPostionWidgetBasedOnGravity(newChild, gravity); 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(); if (_timer == null) _showOverlay();
} }
...@@ -264,7 +281,8 @@ class FToast { ...@@ -264,7 +281,8 @@ class FToast {
case ToastGravity.TOP_RIGHT: case ToastGravity.TOP_RIGHT:
return Positioned(top: 100.0, right: 24.0, child: child); return Positioned(top: 100.0, right: 24.0, child: child);
case ToastGravity.CENTER: 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: case ToastGravity.CENTER_LEFT:
return Positioned(top: 50.0, bottom: 50.0, left: 24.0, child: child); return Positioned(top: 50.0, bottom: 50.0, left: 24.0, child: child);
case ToastGravity.CENTER_RIGHT: case ToastGravity.CENTER_RIGHT:
...@@ -274,7 +292,11 @@ class FToast { ...@@ -274,7 +292,11 @@ class FToast {
case ToastGravity.BOTTOM_RIGHT: case ToastGravity.BOTTOM_RIGHT:
return Positioned(bottom: 50.0, right: 24.0, child: child); return Positioned(bottom: 50.0, right: 24.0, child: child);
case ToastGravity.SNACKBAR: 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: case ToastGravity.NONE:
return Positioned.fill(child: child); return Positioned.fill(child: child);
case ToastGravity.BOTTOM: case ToastGravity.BOTTOM:
...@@ -341,7 +363,10 @@ class _ToastEntry { ...@@ -341,7 +363,10 @@ class _ToastEntry {
/// internal [StatefulWidget] which handles the show and hide /// internal [StatefulWidget] which handles the show and hide
/// animations for [FToast] /// animations for [FToast]
class _ToastStateFul extends StatefulWidget { 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 Widget child;
final Duration duration; final Duration duration;
...@@ -354,7 +379,8 @@ class _ToastStateFul extends StatefulWidget { ...@@ -354,7 +379,8 @@ class _ToastStateFul extends StatefulWidget {
} }
/// State for [_ToastStateFul] /// State for [_ToastStateFul]
class ToastStateFulState extends State<_ToastStateFul> with SingleTickerProviderStateMixin { class ToastStateFulState extends State<_ToastStateFul>
with SingleTickerProviderStateMixin {
/// Start the showing animations for the toast /// Start the showing animations for the toast
showIt() { showIt() {
_animationController!.forward(); _animationController!.forward();
...@@ -378,7 +404,8 @@ class ToastStateFulState extends State<_ToastStateFul> with SingleTickerProvider ...@@ -378,7 +404,8 @@ class ToastStateFulState extends State<_ToastStateFul> with SingleTickerProvider
vsync: this, vsync: this,
duration: widget.fadeDuration, duration: widget.fadeDuration,
); );
_fadeAnimation = CurvedAnimation(parent: _animationController!, curve: Curves.easeIn); _fadeAnimation =
CurvedAnimation(parent: _animationController!, curve: Curves.easeIn);
super.initState(); super.initState();
showIt(); showIt();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment