autojs-dialog对话框倒计时

简介: 牙叔教程 简单易懂

牙叔教程 简单易懂

倒计时效果

代码

/*
 * @version: 1.0
 * @Date: 2022-06-17 11:47:52
 * @LastEditTime: 2022-06-17 12:08:26
 * @LastEditors: 牙叔
 * @Description:
 * @FilePath: \dialog-count-down\main.js
 * @名人名言: 牙叔教程 简单易懂
 * @bilibili: 牙叔教程
 * @公众号: 牙叔教程
 * @QQ群: 582976637
 */
engines.all().map((ScriptEngine) => {
  if (engines.myEngine().toString() !== ScriptEngine.toString()) {
    ScriptEngine.forceStop();
  }
});
importClass(android.graphics.drawable.GradientDrawable);
let view = ui.inflate(
  <vertical>
    <text>牙叔教程 简单易懂</text>
    <button id="dismiss">公众号: 牙叔教程</button>
    <horizontal w="*" gravity="right">
      <text>倒计时</text>
      <text id="countdown" textColor="#5373e6" padding="8 0 8 0">
        3
      </text>
      <text>秒</text>
    </horizontal>
  </vertical>,
  null,
  false
);
view.dismiss.click(function () {
  dialog.dismiss();
});
let dialog = dialogs.build({
  customView: view,
});
// dialog.setCanceledOnTouchOutside(false); //点击dialog其它地方dismiss无效
let dialogWindow = dialog.getWindow();
setBackgroundRoundRounded(dialogWindow);
dialog.setOnKeyListener({
  onKey: function (dialog, keyCode, event) {
    if (keyCode === KeyEvent.KEYCODE_BACK) {
      toastLog("点击了返回键");
      return true;
    }
    return false;
  },
});
let AUTO_DISMISS_MILLIS = 5000;
let countDownTimer = JavaAdapter(
  android.os.CountDownTimer,
  {
    onTick: function (millisUntilFinished) {
      ui.run(function () {
        view.countdown.setText("" + parseInt(millisUntilFinished / 1000));
      });
    },
    onFinish: function () {
      if (dialog.isShowing()) {
        dialog.dismiss();
      }
    },
  },
  AUTO_DISMISS_MILLIS,
  300
);
dialog.setOnShowListener(
  new android.content.DialogInterface.OnShowListener({
    onShow: function (dialog) {
      countDownTimer.start();
    },
  })
);
dialog.show();
/* -------------------------------------------------------------------------- */
function setBackgroundRoundRounded(view) {
  let gradientDrawable = new GradientDrawable();
  gradientDrawable.setShape(GradientDrawable.RECTANGLE);
  gradientDrawable.setColor(colors.parseColor("#c8e6c9"));
  gradientDrawable.setCornerRadius(60);
  view.setBackgroundDrawable(gradientDrawable);
}


环境

雷电模拟器: 4.0.63

Android版本: 7.1.2

Autojs版本: 8.8.20

名人名言

思路是最重要的, 其他的百度, bing, stackoverflow, github, 安卓文档, autojs文档, 最后才是群里问问 --- 牙叔教程


声明

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

相关文章
|
7月前
|
Java Maven Android开发
Android弹出dialog提示框演示
Android弹出dialog提示框演示
61 1
|
iOS开发
iOS MFMessageComposeViewController不显示取消按钮,导航条上白色,无取消按钮,无法返回应用...
iOS MFMessageComposeViewController不显示取消按钮,导航条上白色,无取消按钮,无法返回应用...
73 0
|
7月前
|
Java Android开发
Android Studio入门之按钮触控的解析及实战(附源码 超详细必看)(包括按钮控件、点击和长按事件、禁用与恢复按钮)
Android Studio入门之按钮触控的解析及实战(附源码 超详细必看)(包括按钮控件、点击和长按事件、禁用与恢复按钮)
768 0
|
Android开发
autojs修改悬浮窗按钮点击事件
牙叔教程 简单易懂
1298 0
|
Android开发
autojs按钮不可点击
牙叔教程 简单易懂
1121 0
|
Android开发
Android 常见对话框的简单使用(提示信息对话框、单选多选对话框、自定义对话框)
Android 常见对话框的简单使用(提示信息对话框、单选多选对话框、自定义对话框)
407 0
Android 常见对话框的简单使用(提示信息对话框、单选多选对话框、自定义对话框)
|
2月前
|
API C#
C#实现Winform程序右下角弹窗消息提示
C#实现Winform程序右下角弹窗消息提示
133 0
|
Android开发 数据安全/隐私保护 开发者
ApeForms | C#WinForm弹出简易的消息提示框 (仿Android Toast消息提示)
在使用手机的时候经常会见到屏幕的中下方会弹出消息提示框,它就是Toast。 ApeForms中也实现了非常简洁易用Toast,与Android的Toast不同的是,ApeForms允许开发者设置不同的弹出模式。此外还针对PC端有鼠标的情况进行了改进,当鼠标悬停于消息弹出框之上时弹出框不会消失。
443 0
QT 点击关闭按钮时提示是否退出同时按钮显示为中文
QT 点击关闭按钮时提示是否退出同时按钮显示为中文
QT 点击关闭按钮时提示是否退出同时按钮显示为中文
|
Android开发
autojs获取按钮背景色
牙叔教程 简单易懂
517 0

热门文章

最新文章