課程
/移動開發
/Android
/Android攻城獅的第一門課(入門篇)
? ? Toast.makeText(MainActivity.this,"點擊按鈕",1).show(); ?1是什么意思
2017-03-06
源自:Android攻城獅的第一門課(入門篇) 6-3
正在回答
?在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只能設這兩個值,其他值是沒有用處的。
? 查看源碼可知
? public static final int LENGTH_SHORT = 0;
? public static final int LENGTH_LONG = 1;
這里面的“1”只是靜態常量“LENGTH_LONG”,所以它并不表示顯示時間
這里1代替的是一個常數,即Toast.LENGTH_SHORT, 時間好像是兩秒,我記不清了,你可以查看一下文檔或者百度一下
elliott_zhang
顯示時間的長度 1是1秒?
舉報
想快速掌握Android應用開發基礎,選擇學習這門課程就對了。
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-03-08
?在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只能設這兩個值,其他值是沒有用處的。
2017-03-07
? 查看源碼可知
? public static final int LENGTH_SHORT = 0;
? public static final int LENGTH_LONG = 1;
這里面的“1”只是靜態常量“LENGTH_LONG”,所以它并不表示顯示時間
2017-03-07
這里1代替的是一個常數,即Toast.LENGTH_SHORT, 時間好像是兩秒,我記不清了,你可以查看一下文檔或者百度一下
2017-03-06
顯示時間的長度 1是1秒?