autojs之悬浮窗按钮~实现 点击后改变按钮背景颜色 的效果

这篇博客介绍了如何通过Java代码动态控制按钮的可见性,实现点击按钮后背景颜色变化的功能。通过setVisibility方法,可以设置按钮为VISIBLE(可见)、INVISIBLE(不可见但保留空间)和GONE(完全不可见)。文中还展示了具体的代码示例,包括按钮点击事件的响应,以及在特定状态下按钮颜色和可见性的切换。此外,还涉及到了脚本的暂停和继续逻辑。
摘要由CSDN通过智能技术生成

前言

通过setVisibility设置 按钮控件 是否可见,来实现 点击按钮后 按钮背景颜色改变 的效果

view.VISIBLE:0 意思是可见的
view.INVISIBILITY:4 意思是不可见的,但还占着原来的空间
view.GONE:8 意思是不可见的

效果

在这里插入图片描述

代码

var 悬浮窗 = floaty.window(
    <frame h="auto" w="auto" gravity="center">
        <button bg="#98FB98" id="console1" text="暂停" visibility="visible" />
        <button bg="#FFD700" id="console2" text="开始" visibility="gone" />
    </frame>
);
悬浮窗.setPosition(500, 1000)   //设置位置(x,y)
悬浮窗.setAdjustEnabled(true)   //显示三个按钮
悬浮窗.exitOnClose()    //关闭悬浮窗时自动结束脚本运行

//指定确定按钮点击时要执行的动作
悬浮窗.console1.click(function () {
    toast("脚本已暂停");
    ui.run(function () {
        //悬浮窗.console.setText("开始");
        悬浮窗.console1.setVisibility(8) //0 可见    8 不可见
        悬浮窗.console2.setVisibility(0)
    });
});

悬浮窗.console2.click(function () {
    toast("脚本已继续");
    ui.run(function () {
        // 悬浮窗.console.setText("暂停");
        悬浮窗.console1.setVisibility(0)//设置 可见
        悬浮窗.console2.setVisibility(8)//不可见
    });

});

function kz() {
    while (1) {
        反状态 = 悬浮窗.console1.getVisibility();   //获得 暂停 按钮的可见性
        //log(反状态)
        if (反状态 == 8) {//反状态为开始时,脚本要暂停,即被阻塞
            toastLog("脚本暂停中");
            sleep(2000) //这个只影响主程序,就是你可以在这期间点开始运行,在sleep结束后,主程序会继续运行
        }
        else {//反状态为暂停时,脚本要运行,即跳出死循环
            break
        }
    }
}

i = 0
j = 0
while (1) {
    kz()    //其实这个检测只需要在 模拟操作的 过程中添加,
    sleep(1000)
    kz()    //一般脚本都是模拟人的操作,在这个过程中,点击控件啥的才需要
    i = i + 1
    kz()    //像其他后台分析计算什么的就不太需要了
    log(i)
    
    if(i==5){
        toast("脚本已暂停");
        ui.run(function () {
            悬浮窗.console2.setText("变色");//按钮字体颜色
            悬浮窗.console2.setTextColor(colors.RED);
            
            悬浮窗.console1.setVisibility(8) //0 可见    8 不可见
            悬浮窗.console2.setVisibility(0)
        });
        kz()
    }
    kz()    

    sleep(2000)
    j = j - 1
    kz()
    log(j)
    kz()
}
  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 19
    评论
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

tfnmdmx

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

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

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

打赏作者

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

抵扣说明:

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

余额充值