Android中Toast类

Toast类中这两个变量的值为:

 public static final int LENGTH_SHORT = 0;

 public static final int LENGTH_LONG = 1;

       在Android源码中的NotificationManagerService.java这个类中定义了两个静态变量,分别对应Toast.LENGTH_LONG(3.5秒)和Toast.LENGTH_SHORT(2秒)的值

   private static final int LONG_DELAY = 3500// 3.5 seconds           

   private static final int SHORT_DELAY = 2000// 2 seconds

   在下面的方法中进行了调用:

private void scheduleTimeoutLocked(ToastRecord r, boolean immediate)

    {

        Message m =Message.obtain(mHandler, MESSAGE_TIMEOUT, r);

        long delay =immediate ? 0 :(r.duration == Toast.LENGTH_LONG ? LONG_DELAY : SHORT_DELAY);

       mHandler.removeCallbacksAndMessages(r);

       mHandler.sendMessageDelayed(m, delay);

    }

   也就是说,Toast..makeText(Context context,CharSequence text, int duration).show() 中的duration除了调用Toast 类中这两个变量外,如果用数字,则1表示Toast.LENGTH_LONG,其他表示Toast.LENGTH_SHORT,显示的时间只有3.5秒和2秒这两种。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值