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

相關文章
相關標籤/搜索