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文档, 最后才是群里问问 --- 牙叔教程


声明

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

相关文章
|
3月前
|
Java Maven Android开发
Android弹出dialog提示框演示
Android弹出dialog提示框演示
39 1
|
3月前
|
Java Android开发
Android Studio入门之按钮触控的解析及实战(附源码 超详细必看)(包括按钮控件、点击和长按事件、禁用与恢复按钮)
Android Studio入门之按钮触控的解析及实战(附源码 超详细必看)(包括按钮控件、点击和长按事件、禁用与恢复按钮)
460 0
|
3月前
|
Android开发
Android Studio APP开发入门之对话框Dialog的讲解及使用(附源码 包括提醒对话框,日期对话框,时间对话框)
Android Studio APP开发入门之对话框Dialog的讲解及使用(附源码 包括提醒对话框,日期对话框,时间对话框)
66 0
|
Android开发
autojs修改悬浮窗按钮点击事件
牙叔教程 简单易懂
1179 0
|
Android开发
autojs按钮不可点击
牙叔教程 简单易懂
1034 0
|
3月前
|
Android开发 iOS开发 容器
Android Studio App开发入门之选择按钮的讲解及使用(包括复选框,开关按钮,单选按钮,附源码)
Android Studio App开发入门之选择按钮的讲解及使用(包括复选框,开关按钮,单选按钮,附源码)
207 0
|
Android开发 数据安全/隐私保护 开发者
ApeForms | C#WinForm弹出简易的消息提示框 (仿Android Toast消息提示)
在使用手机的时候经常会见到屏幕的中下方会弹出消息提示框,它就是Toast。 ApeForms中也实现了非常简洁易用Toast,与Android的Toast不同的是,ApeForms允许开发者设置不同的弹出模式。此外还针对PC端有鼠标的情况进行了改进,当鼠标悬停于消息弹出框之上时弹出框不会消失。
374 0
ApeForms | C#WinForm弹出简易的消息提示框 (仿Android Toast消息提示)
|
程序员 API Android开发
iOS开发:简单的Toast提示框实现
博主是以iOS开发出身,那就最后一篇博文就分享一下关于iOS的内容吧。iOS开发过程中,有些时候操作App的时候,需要给用户对应的响应提示操作,使用系统自带的提示框不是每种情况都适用的。
672 0
iOS开发:简单的Toast提示框实现
|
Android开发
Android开发案例 点击按钮出现 简易的消息提示框
Android开发案例 点击按钮出现 简易的消息提示框
258 0
Android开发案例 点击按钮出现 简易的消息提示框
|
Android开发
autojs获取按钮背景色
牙叔教程 简单易懂
490 0