What is the duration of a Toast LENGTH_LONG and LENGTH_SHORT

后端 未结 6 1418
梦毁少年i
梦毁少年i 2020-12-01 10:13

I need the exact duration of LENGTH_LONG and LENGTH_SHORT in milliseconds (ms). Also I need to know if the duration of Toast message with LENGTH_LONG will have the same dura

6条回答
  •  谎友^
    谎友^ (楼主)
    2020-12-01 10:48

    The Toast.LENGTH_SHORT and Toast.LENGTH_LONG are just flags.
    You can find here the official android source where these flags are defined:

    public class NotificationManagerService extends SystemService {
    
        static final int LONG_DELAY = PhoneWindowManager.TOAST_WINDOW_TIMEOUT;
        /** Amount of time (in milliseconds) a toast window can be shown. */
        //public static final int TOAST_WINDOW_TIMEOUT = 3500; // 3.5 seconds
        static final int SHORT_DELAY = 2000; // 2 seconds
    
        private void scheduleDurationReachedLocked(ToastRecord r)
        {
           mHandler.removeCallbacksAndMessages(r);
           Message m = Message.obtain(mHandler, MESSAGE_DURATION_REACHED, r);
           int delay = r.duration == Toast.LENGTH_LONG ? LONG_DELAY : SHORT_DELAY;
           //....
           mHandler.sendMessageDelayed(m, delay);
         }
    }
    

提交回复
热议问题