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





更多相关文章

  1. android中少用静态变量(android静态变量static生命周期)
  2. android中的全局变量定义与使用
  3. Android定义的路径全局变量
  4. 设置Android SDK tools工作路径环境变量
  5. Mac配置Android环境变量
  6. Android环境变量作用--命令行操作
  7. 设置环境变量ANDROID_SDK_HOME有什么用?
  8. Android用Application设置全局变量以及使用
  9. android adb配置环境变量

随机推荐

  1. android环境变量的设置及注意问题
  2. Android中回调函数的理解---本人Android
  3. android:layout_gravity和android:gravit
  4. Android的BUG,一个频繁重启问题
  5. Android开发者e周报 第5期
  6. 转:Android前途分析
  7. Android四种启动Activity方式
  8. Android Apk加固的初步实现思路(dex整体加
  9. 关于android程序编写初级逻辑思考问题
  10. Android Socket 发送广播包的那些坑