Top Related Projects
The usual Toast, but with steroids 💪
[Moved to MavenCentral] An Android library that takes the standard toast to the next level with many styling options. Works on all Android versions.
Make your native android Toasts Fancy. A library that takes the standard Android toast to the next level with a variety of styling options. Style your toast from code.
An Android Alerting Library
This library is a set of simple wrapper classes that are aimed to help you easily create fancy material dialogs.
Quick Overview
MotionToast is a custom Android toast library that provides animated, customizable toast notifications for Android applications. It offers a variety of pre-designed toast styles with animations, icons, and color schemes, allowing developers to create visually appealing and informative notifications easily.
Pros
- Highly customizable with various pre-designed styles and options
- Smooth animations for enhanced user experience
- Easy to implement and integrate into existing Android projects
- Supports both Kotlin and Java
Cons
- Limited to Android platform only
- May require additional setup for custom fonts or icons
- Potential performance impact if overused in an application
- Dependency on third-party libraries for some features
Code Examples
- Creating a success toast:
MotionToast.createColorToast(this,
"Success",
"Profile Updated Successfully!",
MotionToastStyle.SUCCESS,
MotionToast.GRAVITY_BOTTOM,
MotionToast.LONG_DURATION,
ResourcesCompat.getFont(this, R.font.helvetica_regular))
- Creating a warning toast with a custom position:
MotionToast.createToast(this,
"Warning",
"Please update your app!",
MotionToastStyle.WARNING,
MotionToast.GRAVITY_TOP or MotionToast.GRAVITY_CENTER,
MotionToast.SHORT_DURATION,
ResourcesCompat.getFont(this, R.font.helvetica_regular))
- Creating a custom toast with a dark style:
MotionToast.darkToast(this,
"Dark Toast",
"This is a dark toast with custom icon",
MotionToastStyle.INFO,
MotionToast.GRAVITY_BOTTOM,
MotionToast.LONG_DURATION,
ResourcesCompat.getFont(this, R.font.helvetica_regular))
Getting Started
- Add the JitPack repository to your project's build.gradle file:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
- Add the dependency to your app's build.gradle file:
dependencies {
implementation 'com.github.Spikeysanju:MotionToast:1.4'
}
- Sync your project, and you're ready to use MotionToast in your Android application!
Competitor Comparisons
The usual Toast, but with steroids 💪
Pros of Toasty
- Simpler implementation with fewer dependencies
- Lightweight and faster to integrate
- Supports custom fonts and icons
Cons of Toasty
- Less customizable in terms of animations and styles
- Limited to basic toast types (success, error, info, warning)
- Lacks advanced features like swipe-to-dismiss or progress bar
Code Comparison
MotionToast:
MotionToast.createColorToast(this,
"Success",
"Profile Updated Successfully!",
MotionToastStyle.SUCCESS,
MotionToast.GRAVITY_BOTTOM,
MotionToast.LONG_DURATION,
ResourcesCompat.getFont(this, R.font.helvetica_regular))
Toasty:
Toasty.success(getApplicationContext(), "Success!", Toast.LENGTH_SHORT, true).show();
MotionToast offers more customization options and a more modern, animated appearance, while Toasty provides a simpler, more straightforward implementation. MotionToast is better suited for projects requiring advanced toast features and animations, whereas Toasty is ideal for quick integration and basic toast functionality. The choice between the two depends on the specific requirements of your project and the desired level of customization.
[Moved to MavenCentral] An Android library that takes the standard toast to the next level with many styling options. Works on all Android versions.
Pros of StyleableToast
- Simpler API and easier to implement for basic toast notifications
- Supports custom fonts and icons
- Smaller library size, potentially better for app performance
Cons of StyleableToast
- Less animation options compared to MotionToast
- Lacks built-in support for different toast types (success, error, etc.)
- No built-in dark mode support
Code Comparison
MotionToast:
MotionToast.createColorToast(this,
"Success",
"Profile Updated Successfully!",
MotionToastStyle.SUCCESS,
MotionToast.GRAVITY_BOTTOM,
MotionToast.LONG_DURATION,
ResourcesCompat.getFont(this, R.font.helvetica_regular))
StyleableToast:
StyleableToast.makeText(context, "Hello World!", R.style.myToast).show()
MotionToast offers more customization options out of the box, while StyleableToast provides a simpler API for basic toast notifications. MotionToast includes built-in styles for different message types, whereas StyleableToast requires manual styling for similar effects. The code comparison shows that MotionToast requires more parameters for customization, while StyleableToast uses a more concise syntax for basic toasts.
Make your native android Toasts Fancy. A library that takes the standard Android toast to the next level with a variety of styling options. Style your toast from code.
Pros of FancyToast-Android
- Simpler implementation with fewer dependencies
- Supports custom fonts and icons
- Offers a wider range of pre-defined toast styles
Cons of FancyToast-Android
- Less customizable animations compared to MotionToast
- Limited to Android platform, while MotionToast supports both Android and Compose
Code Comparison
FancyToast-Android:
FancyToast.makeText(this, "Hello World!", FancyToast.LENGTH_LONG, FancyToast.SUCCESS, true).show()
MotionToast:
MotionToast.createColorToast(this,
"Hello World!",
"This is a success toast",
MotionToastStyle.SUCCESS,
MotionToast.GRAVITY_BOTTOM,
MotionToast.LONG_DURATION,
ResourcesCompat.getFont(this, R.font.helvetica_regular))
Both libraries aim to enhance the default Android Toast functionality with more visually appealing and customizable options. FancyToast-Android provides a simpler API with pre-defined styles, making it easier to implement quickly. However, MotionToast offers more advanced animation capabilities and supports both Android and Jetpack Compose, making it more versatile for modern Android development.
FancyToast-Android is a good choice for projects requiring quick implementation of enhanced toasts, while MotionToast is better suited for applications needing more complex animations and cross-platform compatibility between traditional Android views and Compose.
An Android Alerting Library
Pros of Alerter
- More customizable appearance with options for icon, title, text, and background color
- Supports stacking multiple alerts
- Offers swipe-to-dismiss functionality
Cons of Alerter
- Limited animation options compared to MotionToast
- Lacks built-in toast types (success, error, warning, etc.)
- Less modern design aesthetic
Code Comparison
MotionToast:
MotionToast.createColorToast(this,
"Success",
"Profile Updated Successfully!",
MotionToastStyle.SUCCESS,
MotionToast.GRAVITY_BOTTOM,
MotionToast.LONG_DURATION,
ResourcesCompat.getFont(this, R.font.helvetica_regular))
Alerter:
Alerter.create(this@YourActivity)
.setTitle("Alert Title")
.setText("Alert text...")
.setIcon(R.drawable.alerter_ic_face)
.setBackgroundColorRes(R.color.colorAccent)
.show()
Both libraries offer easy-to-use APIs for creating alerts or toasts in Android applications. MotionToast focuses on pre-defined toast types with animated icons, while Alerter provides more flexibility in terms of appearance customization and alert behavior. MotionToast may be preferred for quick implementation of common toast types, whereas Alerter might be better suited for applications requiring more control over alert styling and positioning.
This library is a set of simple wrapper classes that are aimed to help you easily create fancy material dialogs.
Pros of LovelyDialog
- More customization options for dialog appearance and animations
- Supports chaining multiple dialogs together
- Includes built-in input validation for text fields
Cons of LovelyDialog
- Less modern design aesthetic compared to MotionToast
- Fewer pre-built toast styles and configurations
- Not actively maintained (last update was in 2018)
Code Comparison
MotionToast:
MotionToast.createColorToast(this,
"Success",
"Profile Updated Successfully!",
MotionToastStyle.SUCCESS,
MotionToast.GRAVITY_BOTTOM,
MotionToast.LONG_DURATION,
ResourcesCompat.getFont(this, R.font.helvetica_regular))
LovelyDialog:
LovelyStandardDialog(this)
.setTopColorRes(R.color.indigo)
.setIcon(R.drawable.ic_star)
.setTitle("Success")
.setMessage("Profile Updated Successfully!")
.setPositiveButton(android.R.string.ok, null)
.show()
Both libraries offer easy-to-use APIs for creating custom dialogs and toasts. MotionToast focuses on modern, animated toast messages, while LovelyDialog provides more traditional dialog options with extensive customization. MotionToast is more actively maintained and offers a sleeker design, but LovelyDialog may be preferred for projects requiring more complex dialog interactions or chaining.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Motion Toast - A Beautiful Toast Library for Android Kotlin ð¤©ð¥
A Beautiful Multipurpose Motion Toast Library in Android using Kotlin ð
Preview - Motion Toast ð
Preview - Color Motion Toast ð
Preview - Dark Toast ð
Preview - Dark Color Toast ð
Types of Toast Style â¤ï¸
1. Motion Toast | 2. Color Motion Toast | 3. Dark Toast | 4. Dark Color Toast |
---|---|---|---|
About
A Beautiful Multipurpose Motion Toast Library in Android using Kotlin.
Dependency Project Level
Step 1. Add the JitPack repository to your build file
Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Dependency App Level
Add dependency in your app module
dependencies {
implementation 'com.github.Spikeysanju:MotionToast:1.4'
}
Five Toast Types ðð¼
1. TOAST_SUCCESS
2. TOAST_ERROR
3. TOAST_WARNING
4. TOAST_INFO
5. TOAST_DELETE
Toast Duration âï¸
1. LONG_DURATION // 4 Seconds
2. SHORT_DURATION // 2 Seconds
Usage
Sample Code for - Motion Toast ð
Success Toast
MotionToast.createToast(this,
"Hurray success ð"
"Upload Completed successfully!",
MotionToastStyle.SUCCESS,
MotionToast.GRAVITY_BOTTOM,
MotionToast.LONG_DURATION,
ResourcesCompat.getFont(this,R.font.helvetica_regular))
Error Toast
MotionToast.createToast(this,
"Failed â¹ï¸"
"Profile Update Failed!",
MotionToastStyle.ERROR,
MotionToast.GRAVITY_BOTTOM,
MotionToast.LONG_DURATION,
ResourcesCompat.getFont(this,R.font.helvetica_regular))
Warning Toast
MotionToast.createToast(this,"Please fill all the details!",
MotionToastStyle.WARNING,
MotionToast.GRAVITY_BOTTOM,
MotionToast.LONG_DURATION,
ResourcesCompat.getFont(this,R.font.helvetica_regular))
Info Toast
MotionToast.createToast(this,"This is information toast!",
MotionToastStyle.INFO,
MotionToast.GRAVITY_BOTTOM,
MotionToast.LONG_DURATION,
ResourcesCompat.getFont(this,R.font.helvetica_regular))
Delete Toast
MotionToast.createToast(this,"Delete all history!",
MotionToastStyle.DELETE,
MotionToast.GRAVITY_BOTTOM,
MotionToast.LONG_DURATION,
ResourcesCompat.getFont(this,R.font.helvetica_regular))
Sample Code for - Color Motion Toast ð
Success Toast
MotionToast.createColorToast(this,"Upload Completed!",
MotionToastStyle.SUCCESS,
MotionToast.GRAVITY_BOTTOM,
MotionToast.LONG_DURATION,
ResourcesCompat.getFont(this,R.font.helvetica_regular))
Error Toast
MotionToast.createColorToast(this,"Profile Update Failed!",
MotionToastStyle.ERROR,
MotionToast.GRAVITY_BOTTOM,
MotionToast.LONG_DURATION,
ResourcesCompat.getFont(this,R.font.helvetica_regular))
Warning Toast
MotionToast.createColorToast(this,"Please fill all the details!",
MotionToastStyle.WARNING,
MotionToast.GRAVITY_BOTTOM,
MotionToast.LONG_DURATION,
ResourcesCompat.getFont(this,R.font.helvetica_regular))
Info Toast
MotionToast.createColorToast(this,"This is information toast!",
MotionToastStyle.INFO,
MotionToast.GRAVITY_BOTTOM,
MotionToast.LONG_DURATION,
ResourcesCompat.getFont(this,R.font.helvetica_regular))
Delete Toast
MotionToast.createColorToast(this,"Delete all history!",
MotionToastStyle.DELETE,
MotionToast.GRAVITY_BOTTOM,
MotionToast.LONG_DURATION,
ResourcesCompat.getFont(this,R.font.helvetica_regular))
Sample Code for - Dark Toast ðð¤
Success Toast
MotionToast.darkToast(this,"Upload Completed!",
MotionToastStyle.SUCCESS,
MotionToast.GRAVITY_BOTTOM,
MotionToast.LONG_DURATION,
ResourcesCompat.getFont(this,R.font.helvetica_regular))
Error Toast
MotionToast.darkToast(this,"Profile Update Failed!",
MotionToastStyle.ERROR,
MotionToast.GRAVITY_BOTTOM,
MotionToast.LONG_DURATION,
ResourcesCompat.getFont(this,R.font.helvetica_regular))
Warning Toast
MotionToast.darkToast(this,"Please fill all the details!",
MotionToastStyle.WARNING,
MotionToast.GRAVITY_BOTTOM,
MotionToast.LONG_DURATION,
ResourcesCompat.getFont(this,R.font.helvetica_regular))
Info Toast
MotionToast.darkToast(this,"This is information toast!",
MotionToastStyle.INFO,
MotionToast.GRAVITY_BOTTOM,
MotionToast.LONG_DURATION,
ResourcesCompat.getFont(this,R.font.helvetica_regular))
Delete Toast
MotionToast.darkToast(this,"Delete all history!",
MotionToastStyle.DELETE,
MotionToast.GRAVITY_BOTTOM,
MotionToast.LONG_DURATION,
ResourcesCompat.getFont(this,R.font.helvetica_regular))
Sample Code for - Dark Color Toast ðð¤ð
Success Toast
MotionToast.darkColorToast(this,"Upload Completed!",
MotionToastStyle.SUCCESS,
MotionToast.GRAVITY_BOTTOM,
MotionToast.LONG_DURATION,
ResourcesCompat.getFont(this,R.font.helvetica_regular))
Error Toast
MotionToast.darkColorToast(this,"Profile Update Failed!",
MotionToastStyle.ERROR,
MotionToast.GRAVITY_BOTTOM,
MotionToast.LONG_DURATION,
ResourcesCompat.getFont(this,R.font.helvetica_regular))
Warning Toast
MotionToast.darkColorToast(this,"Please fill all the details!",
MotionToastStyle.WARNING,
MotionToast.GRAVITY_BOTTOM,
MotionToast.LONG_DURATION,
ResourcesCompat.getFont(this,R.font.helvetica_regular))
Info Toast
MotionToast.darkColorToast(this,"This is information toast!",
MotionToastStyle.INFO,
MotionToast.GRAVITY_BOTTOM,
MotionToast.LONG_DURATION,
ResourcesCompat.getFont(this,R.font.helvetica_regular))
Delete Toast
MotionToast.darkColorToast(this,"Delete all history!",
MotionToastStyle.DELETE,
MotionToast.GRAVITY_BOTTOM,
MotionToast.LONG_DURATION,
ResourcesCompat.getFont(this,R.font.helvetica_regular))
Donation
If this project help you reduce time to develop, you can give me a cup of coffee :)
License
Copyright 2020 Spikey sanju
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Top Related Projects
The usual Toast, but with steroids 💪
[Moved to MavenCentral] An Android library that takes the standard toast to the next level with many styling options. Works on all Android versions.
Make your native android Toasts Fancy. A library that takes the standard Android toast to the next level with a variety of styling options. Style your toast from code.
An Android Alerting Library
This library is a set of simple wrapper classes that are aimed to help you easily create fancy material dialogs.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot