FancyToast-Android
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.
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.
A library that extends the Android toast framework.
:bread: Make your native android Toasts Tasty
Quick Overview
FancyToast-Android is a custom Android toast library that enhances the standard Android toast functionality. It provides visually appealing and customizable toast messages with various styles, icons, and animations, allowing developers to create more engaging user notifications in their Android applications.
Pros
- Easy to integrate and use in Android projects
- Offers multiple pre-defined toast styles (success, error, warning, etc.)
- Supports custom animations and durations
- Allows for extensive customization of toast appearance
Cons
- May increase app size slightly due to additional resources
- Limited documentation and examples
- Not actively maintained (last update was over a year ago)
- Might not be fully compatible with the latest Android versions
Code Examples
- Basic usage of FancyToast:
FancyToast.makeText(
this,
"Hello World!",
FancyToast.LENGTH_LONG,
FancyToast.SUCCESS,
false
).show()
- Customizing FancyToast appearance:
FancyToast.makeText(
this,
"Custom Toast",
FancyToast.LENGTH_LONG,
FancyToast.DEFAULT,
R.drawable.ic_custom_icon,
true
).show()
- Creating a FancyToast with a custom configuration:
val fancyToast = FancyToast.makeText(this, "Customized Toast", FancyToast.LENGTH_LONG, FancyToast.INFO, false)
fancyToast.setTextColor(Color.RED)
fancyToast.setTextSize(16)
fancyToast.setIcon(R.drawable.ic_custom_icon)
fancyToast.show()
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.Shashank02051997:FancyToast-Android:0.1.8'
}
- Use FancyToast in your Android code as shown in the code examples above.
Competitor Comparisons
The usual Toast, but with steroids 💪
Pros of Toasty
- More customization options, including custom fonts and icon tinting
- Supports dark theme out of the box
- Smaller library size, potentially reducing app bloat
Cons of Toasty
- Less intuitive API for creating toasts compared to FancyToast-Android
- Fewer pre-defined toast styles (success, error, etc.) than FancyToast-Android
- Limited animation options compared to FancyToast-Android
Code Comparison
FancyToast-Android:
FancyToast.makeText(this, "Hello World!", FancyToast.LENGTH_LONG, FancyToast.SUCCESS, true).show();
Toasty:
Toasty.success(getApplicationContext(), "Hello World!", Toast.LENGTH_SHORT, true).show();
Both libraries offer similar functionality for creating custom toasts, but FancyToast-Android provides a more familiar API that closely resembles Android's native Toast class. Toasty, on the other hand, requires specifying the toast type (success, error, etc.) as a method call, which may be less intuitive for some developers.
FancyToast-Android offers more pre-defined styles and animation options, making it easier to create visually appealing toasts quickly. However, Toasty provides more fine-grained control over customization, including the ability to set custom fonts and tint icons.
Overall, the choice between these libraries depends on the specific needs of your project and personal preference for API design.
[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
- More customization options, including custom fonts and corner radius
- Supports Kotlin DSL for easier configuration
- Smaller library size and fewer dependencies
Cons of StyleableToast
- Lacks some pre-defined styles available in FancyToast-Android
- Does not support custom animations out of the box
Code Comparison
FancyToast-Android:
FancyToast.makeText(this, "Hello World!", FancyToast.LENGTH_LONG, FancyToast.SUCCESS, true).show()
StyleableToast:
StyleableToast.Builder(context)
.text("Hello World!")
.textColor(Color.WHITE)
.backgroundColor(Color.GREEN)
.show()
Both libraries offer easy-to-use APIs for creating custom toasts, but StyleableToast provides more granular control over individual elements. FancyToast-Android focuses on pre-defined styles, while StyleableToast allows for more detailed customization.
StyleableToast's Kotlin DSL support makes it more convenient for Kotlin developers, while FancyToast-Android's pre-defined styles can be quicker to implement for common use cases.
Overall, StyleableToast is better suited for projects requiring extensive toast customization, while FancyToast-Android may be preferable for quick implementation of common toast styles.
A library that extends the Android toast framework.
Pros of SuperToasts
- More customization options for toast appearance and behavior
- Supports additional toast types like progress and button toasts
- Includes a manager class for handling multiple toasts
Cons of SuperToasts
- Less actively maintained (last update was several years ago)
- More complex implementation compared to FancyToast-Android
- Larger library size due to additional features
Code Comparison
FancyToast-Android:
FancyToast.makeText(this, "Hello World!", FancyToast.LENGTH_LONG, FancyToast.SUCCESS, true).show();
SuperToasts:
SuperToast.create(this, "Hello World!", Style.DURATION_LONG)
.setBackground(Style.GREEN)
.setAnimations(Style.ANIMATIONS_POP)
.show();
Both libraries offer simple ways to create and display custom toasts, but SuperToasts provides more granular control over toast properties. FancyToast-Android uses a more concise syntax, while SuperToasts allows for method chaining to set various options.
FancyToast-Android is more lightweight and easier to implement for basic use cases, making it suitable for projects that need quick and simple custom toasts. SuperToasts, on the other hand, offers more advanced features and customization options, making it a better choice for projects requiring complex toast functionality.
:bread: Make your native android Toasts Tasty
Pros of TastyToast
- Offers more toast types, including confusing, warning, and default styles
- Includes animated icons for each toast type, enhancing visual appeal
- Smaller library size, potentially reducing app bloat
Cons of TastyToast
- Less customization options compared to FancyToast-Android
- Limited to predefined styles, while FancyToast-Android allows for more flexibility
- Less active maintenance and updates
Code Comparison
TastyToast:
TastyToast.makeText(getApplicationContext(), "Hello World!", TastyToast.LENGTH_LONG, TastyToast.SUCCESS);
FancyToast-Android:
FancyToast.makeText(this, "Hello World!", FancyToast.LENGTH_LONG, FancyToast.SUCCESS, true).show();
Both libraries offer similar ease of use, with TastyToast requiring slightly less code. However, FancyToast-Android provides more customization options through additional parameters and methods.
TastyToast focuses on predefined styles with animated icons, making it ideal for quick implementation of visually appealing toasts. FancyToast-Android, on the other hand, offers greater flexibility in terms of customization, allowing developers to tailor the toast appearance to their specific needs.
While TastyToast has a smaller footprint, FancyToast-Android compensates with more frequent updates and active maintenance, potentially providing better long-term support and compatibility.
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
FancyToast-Android
Prerequisites
Add this in your root build.gradle
file (not your module build.gradle
file):
allprojects {
repositories {
...
mavenCentral()
}
}
Dependency
This library is available on MavenCentreal
Add this to your module's build.gradle
file (make sure the version matches the Maven-Central badge above):
dependencies {
...
implementation 'io.github.shashank02051997:FancyToast:2.0.2'
}
Usage
Each method always returns a Toast
object, so you can customize the Toast much more. DON'T FORGET THE show()
METHOD!
To display an default Toast:
FancyToast.makeText(this,"Hello World !",FancyToast.LENGTH_LONG,FancyToast.DEFAULT,true);
To display a success Toast:
FancyToast.makeText(this,"Hello World !",FancyToast.LENGTH_LONG,FancyToast.SUCCESS,true);
To display an info Toast:
FancyToast.makeText(this,"Hello World !",FancyToast.LENGTH_LONG,FancyToast.INFO,true);
To display a warning Toast:
FancyToast.makeText(this,"Hello World !",FancyToast.LENGTH_LONG,FancyToast.WARNING,true);
To display the error Toast:
FancyToast.makeText(this,"Hello World !",FancyToast.LENGTH_LONG,FancyToast.ERROR,true);
To display the confusing Toast:
FancyToast.makeText(this,"Hello World !",FancyToast.LENGTH_LONG,FancyToast.CONFUSING,true);
You can also remove the android icon on top-right corner by passing last parameter false.
FancyToast.makeText(yourContext, "I'm a Toast", duration, type, boolean value).show();
You can also create your custom Toasts with passing your image with or without android icon(top-right corner):
FancyToast.makeText(yourContext, "I'm a custom Toast", duration, type, yourimage, boolean value).show();
To display the custom Toast with no android icon:
FancyToast.makeText(this, "This is Custom Toast with no android icon", FancyToast.LENGTH_LONG, FancyToast.CONFUSING, R.drawable.ic_android_black_24dp, false);
Screenshots
Please click the image below to enlarge.
Contributing
Please fork this repository and contribute back using pull requests.
Any contributions, large or small, major features, bug fixes, are welcomed and appreciated but will be thoroughly reviewed .
Contact - Let's become friend
Don't forget to star â the repo it motivates me to share more open source
Donation
If this project help you reduce time to develop, you can give me a cup of coffee :)
License
Copyright 2020 Shashank Singhal
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.
A library that extends the Android toast framework.
:bread: Make your native android Toasts Tasty
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