toast快速显示

第一种, 全局锁javascript

/* * @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死循环java

/* * @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);

复制代码

声明

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

相关文章
相关标签/搜索