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

android toast 自定义时间,Android 自定义 Toast 显示时间「建议收藏」Android自定义Toast显示时间实现代码:packagecom.wm.realname.util;importandroid.content.Context;importandroid.os.Handler;importandroid.view.View;importandroid.widget.Toast;/***Toast自定义显示时间*使用方法*1.先初始化类M…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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;

}

}

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

总结

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

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

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux查看80端口占用情况_linux查看已使用端口

    linux查看80端口占用情况_linux查看已使用端口前言平常使用linux,我们经常需要查看哪个服务占用了哪个端口,接下来就为大家介绍了2种Linux查看端口占用情况可以使用lsof和netstat命令。1.lsof-i:端口号用

    2022年7月28日
    3
  • DeepLab系列学习

    DeepLab系列文章目录DeepLab系列DeepLabV1简介atrousalgorithm利用全卷积增加感受野并加速运算条件随机场CRF实验结果多尺度预测VOC数据集上对比DeepLabV2主要改进简介模型主体ASPP实验结果DeepLabV3相应的改进实验DeepLabV3+(DeepLabV3plus)相应改进整体结构解码器结构modifiedXception实验参考DeepLabV1DeepLabV1github简介DeepLab系列在2015年的ICLR上被提出,主要是使用D

    2022年4月15日
    103
  • intellijidea激活码【最新永久激活】

    (intellijidea激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月28日
    179
  • 安装多版本php(php5.6,php7.2)

    安装多版本php(php5.6,php7.2)安装多版本php(php5.6,php7.2)

    2022年4月24日
    47
  • eclipse中文插件如何安装_eclipse不显示svn插件

    eclipse中文插件如何安装_eclipse不显示svn插件1、在eclipse中下载插件,地址如下:Name:Subclipse1.2.x(Eclipse3.2+)   URL: http://subclipse.tigris.org/update_1.2.xName:Subclipse1.0.x(Eclipse3.0/3.1)   URL: http://subclipse.tigris.org/up

    2022年10月11日
    4
  • AVC1与H264的区别

    AVC1与H264的区别今天上网时偶尔发现这个在我脑海里疑惑的问题的答案。H.264VideoTypesThefollowingmediasubtypesaredefinedforH.264video.SubtypeFOURCCDescri

    2022年6月17日
    48

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号