UI悬浮窗控制台脚本交互

简介: UI悬浮窗控制台脚本交互

牙叔教程 简单易学


使用场景


有界面, 有悬浮窗, 有脚本,


还不会交互, 就看这个


效果展示

微信图片_20220625103021.png


流程图

微信图片_20220625192956.jpg


autojs版本

8.7.7-0


get知识点

  1. 导入安卓类
  2. 停止其他脚本
  3. 设置状态栏颜色
  4. 获取状态栏高度
  5. viewpager的基本使用
  6. Switch的基本使用
  7. 本地存储的使用
  8. 无障碍权限判断
  9. 悬浮窗权限判断
  10. 输入框监听
  11. 打开无障碍界面
  12. 打开悬浮窗界面
  13. resume事件和exit事件的使用
  14. 界面生成左上角返回和右上角菜单
  15. 停止指定脚本引擎
  16. 格式化时间
  17. 按钮点击事件的封装
  18. 悬浮窗中使用控制台
  19. setOnTouchListener的使用


主要代码讲解

ui.文字内容.setText(文字内容读写.read());
ui.无障碍.checked = auto.service ? true : false;
ui.悬浮窗.checked = floaty.checkPermission() ? true : false;



2. 退出时保存界面数据
events.on("exit", function () {
  文字内容读写.write(ui.文字内容.text());
});


3. 设置输入框监听
ui.文字内容.addTextChangedListener({
  afterTextChanged: function (s) {
    文字内容读写.write(s.toString());
  },
});


4. switch开关的使用
ui.无障碍.on("check", function (isChecked) {
  if (isChecked && auto.service == null) {
    toastLog("请开启无障碍权限");
    app.startActivity({
      action: "android.settings.ACCESSIBILITY_SETTINGS", //跳转无障碍intent
    });
    return true;
  } else {
    auto.service && auto.service.disableSelf(); //关闭无障碍
  }
});


5. resume事件的使用
ui.emitter.on("resume", () => {
  if (auto.service == null) {
    ui.无障碍.checked = false;
  } else {
    ui.无障碍.checked = true;
  }
  if (floaty.checkPermission()) {
    ui.悬浮窗.checked = true;
  } else {
    ui.悬浮窗.checked = false;
  }
});


6. 添加返回键和菜单键
actionBar.setDisplayHomeAsUpEnabled(true);
ui.emitter.on("create_options_menu", (menu) => {
  menu.add("设置");
  menu.add("关于");
});


7. 封装点击事件
function 给按钮添加点击事件并且一秒后才能点击(button, action) {
  button.click(function () {
    let _content = button.getText().toString();
    button.setEnabled(false);
    button.setText("已点击");
    action();
    setTimeout(function () {
      button.setEnabled(true);
      button.setText(_content);
    }, 1000);
  });
}


8. 悬浮窗设置控制台
// 设置控制台
悬浮窗.console.setConsole(runtime.console);
// 隐藏输入框
悬浮窗.console.setInputEnabled(false);


9. 隐藏悬浮窗
悬浮窗.min.click(function () {
  toastLog("最小化悬浮窗");
  隐藏之前的悬浮窗坐标 = [悬浮窗.getX(), 悬浮窗.getY()];
  悬浮窗.setPosition(-3000, -3000);
  let w = 最小化悬浮窗.getWidth();
  let h = 最小化悬浮窗.getHeight();
  最小化悬浮窗.setPosition(-(w / 4) * 1, device.height / 2 - h / 2);
});


声明

部分内容来自网络


相关文章
|
1月前
element ui实现多层级复杂表单的操作(添加与回显)之表单操作交互操作
element ui实现多层级复杂表单的操作(添加与回显)之表单操作交互操作
33 0
|
4月前
|
编解码 前端开发 图形学
Unity 用脚本操作常用UI控件(上)
Unity 用脚本操作常用UI控件(上)
|
5月前
|
移动开发 JavaScript 前端开发
基于inquirer实现一个控制台多级选择交互功能
基于inquirer实现一个控制台多级选择交互功能
57 0
|
7月前
|
Web App开发 Unix Shell
SAP 电商云 Spartacus UI CI 脚本分析
SAP 电商云 Spartacus UI CI 脚本分析
51 0
Flutter实时动态UI刷新、数据交互
Flutter实时动态UI刷新、数据交互
element ui实现多层级复杂表单的操作(添加与回显)之表单操作交互操作
element ui实现多层级复杂表单的操作(添加与回显)之表单操作交互操作
562 0
element ui实现多层级复杂表单的操作(添加与回显)之表单操作交互操作
|
数据可视化 大数据 人机交互
袋鼠云数栈UI5.0体验升级背后的故事:可用性原则与交互升级
最近,我们袋鼠云的UED部⻔小伙伴们,不声不响地⼲了⼀件⼤事——升级了全新设计语言「数栈UI5.0」!数栈UI5.0结合经典的尼尔森十大可用性原则,秉承给客户带来更加好用的功能和体验的目标,进行了重大提升,快点进文章看看,数栈UI5.0都做了什么什么吧!
195 0
|
Web App开发 测试技术 Python
曲鸟全栈UI自动化教学(二):环境搭建与第一个Selenium脚本
曲鸟全栈UI自动化教学(二):环境搭建与第一个Selenium脚本
106 0
曲鸟全栈UI自动化教学(二):环境搭建与第一个Selenium脚本
|
资源调度 Shell
SAP 电商云 Spartacus UI CI e2e-cypress.sh 脚本文件分析
SAP 电商云 Spartacus UI CI e2e-cypress.sh 脚本文件分析
101 0
SAP 电商云 Spartacus UI CI e2e-cypress.sh 脚本文件分析
|
数据可视化 图形学 流计算
Unity 基础 之 代码动态监听UI交互组件汇总
通过介绍组件面板和代码示例,演示代码监听UI交互组件。
218 0
Unity 基础 之 代码动态监听UI交互组件汇总

热门文章

最新文章