Auto.js学习笔记17:基础监听事件和UI简单的点击事件操作

本文介绍了AutoJS中各种事件的处理方法,包括按键监听、触摸监听及UI元素事件如按钮点击、开关状态改变和时间选择器等。通过具体实例展示了如何实现这些事件的监听与响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

events

相关参数

代码示例

注册触摸事件

删除所有事件监听函数

按钮点击事件

Switch

button

timepicker

总结


申明本人使用的autojs是4.1.1版本

events

启用按键监听,例如音量键、Home键。按键监听使用无障碍服务实现,如果无障碍服务未启用会抛出异常并提示开启。

只有这个函数成功执行后, onKeyDown, onKeyUp等按键事件的监听才有效。

该函数在安卓4.3以上才能使用。

相关参数

keys.home 主页键

keys.back 返回键

keys.menu 菜单键

keys.volume_up 音量上键

keys.volume_down 音量下键

代码示例

//启用按键监听
events.observeKey();
//监听音量上键按下
events.onKeyDown("volume_up", function(event){
    toast("音量上");
    unregisterReceiver();
});

//监听音量下键弹起
events.onKeyDown("volume_down", function(event){
    toast("音量下");
});

//监听Home键弹起
events.onKeyDown("home", function(event){
    toast("Home");
});

//监听菜单键按下
events.onKeyDown("menu", function(event){
    toast("菜单键被按下了");
});

注册触摸事件

  • ​ listener {Function} 参数为Point的函数 ​

注册一个触摸监听函数。相当于on("touch", listener)

events.observeTouch();
//注册触摸监听器
events.onTouch(function(s){
    //触摸事件发生会打印出触摸的坐标
    log(s.x + ", " + s.y);
});

删除所有事件监听函数

events.removeAllTouchListeners()

按钮点击事件

Switch

ui局部代码

<vertical id = "setConfigView" w = "*" h = "auto" layout_centerInParent="true" >
      <Switch id = "openSwh"  w = "auto" h = "auto" textStyle = "bold" textColor = "red" 
           text = "无障碍权限   "  textSize="16sp" marginBottom = "15"  marginRight ="10"/>
</vertical>

点击事件代码

 //按钮监听方式
    ui.openSwh.on("check", function(checked) {
        // 用户勾选无障碍服务的选项时,跳转到页面让用户去开启
        if(checked && auto.service == null) {
            app.startActivity({
                action: "android.settings.ACCESSIBILITY_SETTINGS"
            });
            exit();
        }
        if(!checked && auto.service != null){
            auto.service.disableSelf(); //关闭无障碍服务
            ui.openSwh.setChecked(false);
        }
    });

button

ui局部代码

<button id = "testServerAPI" align="center">测试接口数据</button>

点击事件代码


ui.testServerAPI.click(()=>{
        testAPIState = true;
        getServiceInfo(); 
});

timepicker

ui代码

<text id = "timePickerModeText" text = "滑动时间选择:" textColor = "black" textSize="16sp" marginTop="5" />
<timepicker id = "timePickerMode"  timePickerMode="spinner" />

监听事件代码

//滑动时间选择
ui.timePickerMode.setIs24HourView(true);//设置当前时间控件为24小时制
ui.timePickerMode.setHour(9);   //设置当前小时
ui.timePickerMode.setMinute(0); //设置当前分(0-59)
ui.timePickerMode.setOnTimeChangedListener({
      onTimeChanged: function (v, h, m) {
      //h 获取的值 为24小时格式
      wxAutoConfigObj.timingTime = h + ":" + m ;
      ui.timePickerModeText.setText("滑动时间选择: " + wxAutoConfigObj.timingTime);
   }
});

总结

记住即可,以上都是常用的事件处理,每天学习一点点哈嘻。

光看不敲是没用的
看后一定要去实践
一定要去敲代码
一定要去运行试错
这样才是有意义的学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PYB3

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值