好用的Toast框架

689 阅读1分钟

转存记录方便查找

原文git传送github.com/getActivity…

  • 集成步骤 在项目根目录下的build.gradle文件中加入
buildscript {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}
allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}

在项目app模块下的build.gradle文件中加入

android {
    // 支持 JDK 1.8
    compileOptions {
        targetCompatibility JavaVersion.VERSION_1_8
        sourceCompatibility JavaVersion.VERSION_1_8
    }
}
dependencies {
    // 吐司框架:https://github.com/getActivity/ToastUtils
    implementation 'com.github.getActivity:ToastUtils:10.0'
}

初始化框架

public class BaseApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();

        // 初始化 Toast 框架
        ToastUtils.init(this);
    }
}

框架API介绍

// 显示 Toast
ToastUtils.show(CharSequence text);
ToastUtils.show(int id);

// debug 模式下显示 Toast
ToastUtils.debugShow(CharSequence text);
ToastUtils.debugShow(int id);

// 取消 Toast
ToastUtils.cancel();

// 设置 Toast 布局
ToastUtils.setView(int id);

// 设置 Toast 布局样式
ToastUtils.setStyle(IToastStyle<?> style);
// 获取 Toast 布局样式
ToastUtils.getStyle()

// 判断当前框架是否已经初始化
ToastUtils.isInit();

// 设置 Toast 策略
ToastUtils.setStrategy(IToastStrategy strategy);
// 获取 Toast 策略
ToastUtils.getStrategy();

// 设置 Toast 重心和偏移
ToastUtils.setGravity(int gravity);
ToastUtils.setGravity(int gravity, int xOffset, int yOffset);

// 设置 Toast 拦截器
ToastUtils.setInterceptor(IToastInterceptor interceptor);
// 获取 Toast 拦截器
ToastUtils.getInterceptor();
  • 如果需要对Toast的进行定制化,可以使用以下方式
ToastUtils.init(this, new ToastStrategy() {

    @Override
    public IToast createToast(Application application) {
        IToast toast = super.createToast(application);
        if (toast instanceof ActivityToast) {
            ActivityToast activityToast = ((ActivityToast) toast);
            // 设置 Toast 动画效果
            activityToast.setAnimationsId(R.anim.xxx);
            // 设置短 Toast 的显示时长(默认是 2000 毫秒)
            activityToast.setShortDuration(1000);
            // 设置长 Toast 的显示时长(默认是 3500 毫秒)
            activityToast.setLongDuration(5000);
        }
        return toast;
    }
});