Toasty

Project Url: hss01248/Toasty
Introduction: 基于 toasty,单例化,简化 api,添加 debug 模式,以及设置居中显示
More: Author   ReportBugs   
Tags:

Donate

The usual Toast, but with steroids.

Prerequisites

相对与原项目的更改:

Toasty 内部维护单一的 toast 对象,防止弹出无数的 toast. 简化 api 调用

api 安全化,可以在任何线程调用.

成功和失败的状态增加一种中央大块的 UI.

通过方法上的 L 来标志 duration 是长还是短,不用再传入参数,选择相应方法即可.

Add this in your root build.gradle file (not your module build.gradle file):

allprojects {
    repositories {
        ...
        maven { url "https://jitpack.io" }
    }
}

Dependency

Add this to your module's build.gradle file (make sure the version matches the JitPack badge above):

dependencies {
    ...
    compile 'com.github.hss01248:Toasty:2.0.6'

}

Configuration

This step is optional, but if you want you can configure some Toasty parameters. Place this anywhere in your app:

    Toasty.Config.getInstance()
        .setErrorColor(@ColorInt int errorColor) // optional
        .setInfoColor(@ColorInt int infoColor) // optional
        .setSuccessColor(@ColorInt int successColor) // optional
        .setWarningColor(@ColorInt int warningColor) // optional
        .setTextColor(@ColorInt int textColor) // optional
        .tintIcon(boolean tintIcon) // optional (apply textColor also to the icon)
        .setToastTypeface(@NonNull Typeface typeface) // optional
        .setTextSize(int sizeInSp) // optional
        .apply(); // required

You can reset the configuration by using reset() method:

    Toasty.Config.reset();

Usage

Each method always returns a Toast object, so you can customize the Toast much more. no need to invoke the method "show()"

frist,init in Application:


 /**
     *
     * @param context applicationcontext
     * @param isDebug 是测试环境还是正式环境
     * @param showInCenter 显示在什么地方.默认在底部,可以设置为屏幕中央.全局起作用
     */
    public static void init(Context context,boolean isDebug,boolean showInCenter)

change the default color:

setDefaultSuccessColor(String color)
setDefaultInfoColor(String color)
setDefaultInfoColor(String color)
setDefaultErrorColor(String color)
setDefaultTextColor(String color)

增加直接设置 String resId 的接口:

如:

 MyToast.error(R.string.tips_not_empty)

To display an error Toast:

 MyToast.error("This is an error toast.")

To display a success Toast:

 MyToast.success("Success!")

To display an info Toast:

MyToast.info("Here is some info for you.")

To display a warning Toast:

  MyToast.warn("Beware of the dog.")

To display the usual Toast:

MyToast.show("Normal toast w/o icon")

To display the usual Toast with icon:

MyToast.show(CharSequence text ,int resId)

diaplay some toast only in debug mode:

MyToast.debug(CharSequence text )

You can also create your custom Toasts with the custom() method:

Toasty.custom(yourContext, "I'm a custom Toast", yourIconDrawable, tintColor, duration, withIcon, 
shouldTint).show();

toast with Toast.LENGTH_LONG:

just call the method with L in the end , such as:

 MyToast.successL("Success!")
 MyToast.showL("Normal toast w/o icon")

alternative state toast :

successBig(final CharSequence text)
errorBig(final CharSequence text)

the ui is :

success

toast with long text and \n:

error

Extra

You can pass formatted text to Toasty!

There are variants of each method, feel free to explore this library.

Screenshots

Please click the image below to enlarge.

Apps using Toasty

Want to be here? Open an issue or make a pull request.

ChromoPhoto - Colorize B&W
AutoTagger - редактор тегов.
ColorHub - Color Palette
Touch for Facebook
Daily – News flipped around
Oz! Comic Reader
Impactor Unroot
Fusemounter
BlueWords
Levipic - Photo Gallery & Map
Maki for Facebook & Twitter
Eva: Everything for Telegram
Pastebin
Apps
About Me
GitHub: Trinea
Facebook: Dev Tools