美文网首页
toast快速显示

toast快速显示

作者: 牙叔教程 | 来源:发表于2021-08-11 17:24 被阅读0次

第一种, 全局锁

/*
 * @author: 抠脚
 */
"ui";
// 重点是有个全局锁
let myLock = threads.lock();
importClass(android.widget.Toast);
importClass(android.view.Gravity);

ui.layout(
  <vertical>
    <button id="btn"></button>
  </vertical>
);

setInterval(function () {
  ui.btn.setText(new Date().getTime() + "");
}, 1000);

for (var i = 0; i < 3; i++) {
  ToastShow("i = " + i, 200);
  log("i = " + i);
}

function ToastShow(str, time) {
  threads.start(function () {
    myLock.lock();
    myToast = Toast.makeText(context, str, Toast.LENGTH_LONG);
    myToast.show();
    setTimeout(() => {
      myToast.cancel();
      myLock.unlock();
    }, time || 500);
  });
}

第二种, while死循环

/*
 * @version: 1.0
 * @Date: 2021-08-11 15:15:47
 * @LastEditTime: 2021-08-11 16:29:11
 * @LastEditors: 牙叔
 * @Description: toast快速显示
 * @FilePath: \autojs-test\toast快速显示.js
 * @名人名言: 牙叔教程 简单易懂
 */
engines.all().map((ScriptEngine) => {
  if (engines.myEngine().toString() !== ScriptEngine.toString()) {
    ScriptEngine.forceStop();
  }
});
importClass(android.widget.Toast);

function ToastManager() {
  let dataList = [];
  let scope = this;
  this.showing = false;
  function _toast(data) {
    scope.showing = true;
    threads.start(function () {
      let toast = Toast.makeText(context, data.msg, Toast.LENGTH_SHORT);
      toast.show();
      setTimeout(function () {
        log("要中断了");
        toast.cancel();
        toast = null;
        scope.showing = false;
      }, data.t);
    });
  }
  this.add = function (msg, t) {
    t = t || 200;
    dataList.push({
      msg: msg,
      t: t,
    });
  };
  threads.start(function () {
    while (1) {
      if (dataList.length > 0) {
        _toast(dataList.shift());
        while (1) {
          sleep(30);
          if (!scope.showing) {
            break;
          }
        }
      }
      sleep(30);
    }
  });
}

let toastManager = new ToastManager();

for (var i = 0; i < 10; i++) {
  toastManager.add("i = " + i);
  sleep(900);
}

setInterval(function () {}, 1000);

声明

部分内容来自网络
本教程仅用于学习, 禁止用于其他用途

相关文章

  • toast快速显示

    第一种, 全局锁 第二种, while死循环 声明 部分内容来自网络本教程仅用于学习, 禁止用于其他用途

  • Android Toast

    Toast是一个View视图,快速的为用户显示少量的信息。Toast在应用程序上浮动显示信息给用户,它永远不会获得...

  • Android Toast

    Toast是一个View视图,快速的为用户显示少量的信息。Toast在应用程序上浮动显示信息给用户,它永远不会获得...

  • 第五章:消息通知的处理

    Toast显示消息内容 Toast.makeText(当前Activity, "显示的消息", Toast.LEN...

  • Android Toast提示

    默认显示:Toast toast = Toast.makeText(context, “hello”, time)...

  • 一个简易的Toast显示

    这个简易的UIview扩展,能让你快速在屏幕上显示一个带内容、图片、标题的Toast,并且能简单地设置Toast位...

  • Android 自定义Toast

    Android自定义Toast Toast的基础用法 Toast显示的位置通常情况下Toast显示在整个界面的底部...

  • 2018-05-24 App中Toast突然不显示了

    Toast突然不显示了 Toast在系统中属于通知类,所以如果关闭了app的显示通知,Toast是肯定不会显示的。...

  • Android Bug记录(一)

    Toast不显示 设置中关闭某个App的【显示通知】开关,Toast不再弹出,极大的影响了用户体验。 Toast在...

  • Android toast的获取

    关键词:Android,Appium,Python,Toast 1、什么是toast? toast是一个浮动的显示...

网友评论

      本文标题:toast快速显示

      本文链接:https://www.haomeiwen.com/subject/wemcbltx.html