android开发分享吐司LENGTH_LONG和LENGTH_SHORT的持续时间是多less?

我需要精确的持续时间LENGTH_LONG和LENGTH_SHORT毫秒(毫秒)。 此外,我需要知道与LENGTH_LONG Toast消息的持续时间将在任何电话和任何API版本具有相同的持续时间。

有人知道在什么地方定义的时间?,我的意思是定义在毫秒。 我知道LENGTH_LONG是一个int值为1的const。但是我找不到定义的实际持续时间。

    在这里回答。 像你提到的Toast.LENGTH_SHORTToast.LENGTH_LONG不是在ms中,而是0或1。

    实际持续时间是:

     private static final int LONG_DELAY = 3500; // 3.5 seconds private static final int SHORT_DELAY = 2000; // 2 seconds 

    这里定义了这些标志的官方Android源代码 :

     public class NotificationManagerService extends SystemService { static final int LONG_DELAY = 3500; // 3.5 seconds static final int SHORT_DELAY = 2000; // 2 seconds private void scheduleTimeoutLocked(ToastRecord r){ mHandler.removeCallbacksAndMessages(r); Message m = Message.obtain(mHandler, MESSAGE_TIMEOUT, r); long delay = r.duration == Toast.LENGTH_LONG ? LONG_DELAY : SHORT_DELAY; mHandler.sendMessageDelayed(m, delay); } } 

    这是真的,我们不允许改变吐司的持续时间。 但是,如果你正在寻找一个替代品,你真的需要用烤面包片做这个,那么你可以试试这个。

    在下一行保留另一个重复的吐司

    例如:

     Toast.makeText(this, "Hello StackOverFlow", Toast.LENGTH_LONG).show(); Toast.makeText(this, "Hello StackOverFlow", Toast.LENGTH_LONG).show(); 

    用户不会检测到两个敬酒之间的转换的任何变化。

    谢谢。

    通过试验和错误,我发现Toast.LENGTH_LONG持续非常接近2500毫秒

      以上就是android开发分享吐司LENGTH_LONG和LENGTH_SHORT的持续时间是多less?相关内容,想了解更多android开发(异常处理)及android游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/addevelopment/515239.html

      (0)
      上一篇 2020年11月30日
      下一篇 2020年11月30日

      精彩推荐