public class CustomToast {
public static final int LENGTH_MAX = -1;
private boolean mCanceled = true;
private Handler mHandler;
private Context mContext;
private Toast mToast;
public CustomToast(Context context) {
this(context,new Handler());
}
public CustomToast(Context context,Handler h) {
mContext = context;
mHandler = h;
mToast = Toast.makeText(mContext,"",Toast.LENGTH_SHORT);
mToast.setGravity(Gravity.BOTTOM, 0, 0);
}
public void show(int resId,int duration) {
mToast.setText(resId);
if(duration != LENGTH_MAX) {
mToast.setDuration(duration);
mToast.show();
} else if(mCanceled) {
mToast.setDuration(Toast.LENGTH_LONG);
mCanceled = false;
showUntilCancel();
}
}
/**
* @param text 要显示的内容
* @param duration 显示的时间长
* 根据LENGTH_MAX进行判断
* 如果不匹配,进行系统显示
* 如果匹配,永久显示,直到调用hide()
*/
public void show(String text,i
Android进阶篇-Toast自定义显示时间
最新推荐文章于 2024-09-14 14:54:31 发布
本文介绍了如何创建一个自定义的`CustomToast`类,允许设置Toast显示的持续时间。该类提供了显示文本和资源ID的方法,并能根据指定的常量`LENGTH_MAX`实现长时间显示,直到调用hide()方法才会消失。
摘要由CSDN通过智能技术生成