博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android进阶篇-Toast自定义显示时间
阅读量:4347 次
发布时间:2019-06-07

本文共 1897 字,大约阅读时间需要 6 分钟。

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,int duration) {         mToast.setText(text);         if(duration != LENGTH_MAX) {             mToast.setDuration(duration);             mToast.show();             } else {                 if(mCanceled) {                     mToast.setDuration(Toast.LENGTH_LONG);                     mCanceled = false;                     showUntilCancel();                }            }         }     /**     * 隐藏Toast     */    public void hide(){        mToast.cancel();        mCanceled = true;    }        public boolean isShowing() {        return !mCanceled;    }        private void showUntilCancel() {         if(mCanceled)             return;         mToast.show();        mHandler.postDelayed(new Runnable() {            public void run() {                 showUntilCancel();             }        },3000);     } }

转载于:https://www.cnblogs.com/gongcb/archive/2012/05/10/2494539.html

你可能感兴趣的文章
Mysql高级之触发器
查看>>
MVC中下拉框显示枚举项
查看>>
三种客户端访问wcf服务端的方法 C#
查看>>
C#共享内存类改进版
查看>>
关于iframe
查看>>
微信浏览过得小视频会默认存在哪里?
查看>>
给你一个网站,你怎么测?
查看>>
弹出框插件
查看>>
[TopCoder] SRM_594_DIV2.250
查看>>
数据库系列二
查看>>
数据库死锁
查看>>
ajax基础和基本使用
查看>>
<OFFER15> 15_NumberOf1InBinary
查看>>
protocol buffer如何将输出文件编译为DLL
查看>>
Es kibana
查看>>
ANT构建JAR包时设置MANIFEST.MF的Class-Path属性的技巧
查看>>
Telnet RFC
查看>>
(转)visual stdio 书签功能介绍
查看>>
Python自动化运维——DNS处理模块
查看>>
jQuery控制input只能输入两位数字和小数(金额)
查看>>