为了账号安全,请及时绑定邮箱和手机立即绑定

Toast.makeText(MainActivity.this,"点击按钮",1).show(); 1是什么意思

    Toast.makeText(MainActivity.this,"点击按钮",1).show();  1是什么意思

正在回答

4 回答

 在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只能设这两个值,其他值是没有用处的。


0 回复 有任何疑惑可以回复我~

  查看源码可知

  public static final int LENGTH_SHORT = 0;

  public static final int LENGTH_LONG = 1;

这里面的“1”只是静态常量“LENGTH_LONG”,所以它并不表示显示时间


0 回复 有任何疑惑可以回复我~

这里1代替的是一个常数,即Toast.LENGTH_SHORT, 时间好像是两秒,我记不清了,你可以查看一下文档或者百度一下

1 回复 有任何疑惑可以回复我~
#1

elliott_zhang

Toast.LENGTH_SHORT 2秒
2017-03-10 回复 有任何疑惑可以回复我~

显示时间的长度 1是1秒?

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android攻城狮的第一门课(入门篇)
  • 参与学习       312585    人
  • 解答问题       4633    个

想快速掌握Android应用开发基础,选择学习这门课程就对了。

进入课程

Toast.makeText(MainActivity.this,"点击按钮",1).show(); 1是什么意思

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信