Toasty这个看起来不错,虽然有点不算太好看,但通过它的自定义方法最终做出来的还不错
它的使用方法及其的简单,我甚至都不想写这个
Toasty的github地址

第一步:新建项目,在project的build.gradle中添加
maven { url "https://jitpack.io" }
在app的build.gradle中添加依赖
implementation 'com.github.GrenderG:Toasty:1.3.0'
第二步:根据其github上的介绍,配置自己的Toasty的显示方式
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
Toasty.Config.reset();//取消配置,相当于初始化
第三步:根据Usage写代码
一般有这几种方式
//显示错误Toast
Toasty.error(yourContext, "This is an error toast.", Toast.LENGTH_SHORT, true).show();
//显示成功Toast
Toasty.success(yourContext, "Success!", Toast.LENGTH_SHORT, true).show();
//显示信息Toast
Toasty.info(yourContext, "Here is some info for you.", Toast.LENGTH_SHORT, true).show();
//显示警告Toast
Toasty.warning(yourContext, "Beware of the dog.", Toast.LENGTH_SHORT, true).show();
//显示一般的Toast
Toasty.normal(yourContext, "Normal toast w/o icon").show();
//显示带图标的常规Toast
Toasty.normal(yourContext, "Normal toast w/ icon", yourIconDrawable).show();
//自定义Toast
Toasty.custom(yourContext, "I'm a custom Toast", yourIconDrawable, tintColor, duration, withIcon,
shouldTint).show();
基本的java代码如下
package com.example.toasty;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Toast;
import es.dmoral.toasty.Toasty;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.button).setOnClickListener(this);
findViewById(R.id.button2).setOnClickListener(this);
findViewById(R.id.button3).setOnClickListener(this);
findViewById(R.id.button4).setOnClickListener(this);
findViewById(R.id.button5).setOnClickListener(this);
findViewById(R.id.button6).setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch(v.getId())
{
case R.id.button:
Toasty.error(this, "这是个错误提示", Toast.LENGTH_SHORT, true).show();
break;
case R.id.button2:
Toasty.success(this, "这是个成功提示!", Toast.LENGTH_SHORT, true).show();
break;
case R.id.button3:
Toasty.info(this, "这是个信息提示", Toast.LENGTH_SHORT, true).show();
break;
case R.id.button4:
Toasty.warning(this, "这是个警告", Toast.LENGTH_SHORT, true).show();
break;
case R.id.button5:
Toasty.normal(this, "这是个普通的提示").show();
break;
case R.id.button6:
Toasty.normal(this, "Normal toast w/ icon",R.drawable.ic_check_white_48dp).show();
break;
default :break;
}
}
}
demo下载:
链接: https://pan.baidu.com/s/1JRidfZERjLpMFUS0F9dONw
提取码: 6666