首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >android toast 自定义时间,Android 自定义 Toast 显示时间「建议收藏」

android toast 自定义时间,Android 自定义 Toast 显示时间「建议收藏」

作者头像
全栈程序员站长
发布2022-10-02 17:03:01
发布2022-10-02 17:03:01
1.9K0
举报

大家好,又见面了,我是你们的朋友全栈君。

Android 自定义 Toast 显示时间

实现代码:

package com.wm.realname.util;

import android.content.Context;

import android.os.Handler;

import android.view.View;

import android.widget.Toast;

/**

* Toast自定义显示时间

* 使用方法

* 1.先初始化类 MyToast myToast = new MyToast(this);

* 2.显示消息 myToast.setText(“要显示的内容”); //设置要显示的内容

* myToast.show(8000); //传入消息显示时间,单位毫秒,最少2000毫秒,并且只能是2000的倍数。

* 传入0时会一直显示,只有调用 myToast.cancel();时才会取消。

* 3.取消消息显示 myToast.cancel();

* */

public class ToastUtil {

private Context mContext = null;

private Toast mToast = null;

private Handler mHandler = null;

private int duration = 0;

private int currDuration = 0;

private final int DEFAULT = 2000;

private Runnable mToastThread = new Runnable() {

public void run() {

mToast.show();

mHandler.postDelayed(mToastThread,DEFAULT); // 每隔2秒显示一次

if (duration != 0) {

if (currDuration <= duration) {

currDuration += DEFAULT;

} else {

cancel();

}

}

}

}

public ToastUtil(Context context) {

mContext = context;

currDuration = DEFAULT;

mHandler = new Handler(mContext.getMainLooper());

mToast = Toast.makeText(mContext,””,Toast.LENGTH_LONG);

}

public void setText(String text) {

mToast.setText(text);

}

public void show(int duration) {

this.duration = duration;

mHandler.post(mToastThread);

}

public void setGravity(int gravity,int xOffset,int yOffset) {

mToast.setGravity(gravity,xOffset,yOffset);

}

public void setDuration(int duration) {

mToast.setDuration(duration);

}

public void setView(View view) {

mToast.setView(view);

}

public void cancel( ) {

mHandler.removeCallbacks(mToastThread);// 先把显示线程删除

mToast.cancel();// 把最后一个线程的显示效果cancel掉,就一了百了了

currDuration = DEFAULT;

}

}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/197863.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月3日 上,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档