天天看點

c語言 long和short差別,5分鐘讀懂Android 中的toast short 和long的差別

android 中的toast short 和long的差別,在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隻能設這兩個值,其他值是沒有用處的。

本文由職坐标整理并釋出,希望對同學們有所幫助。了解更多詳情請關注職坐标移動開發之Android頻道!