[autojs]利用console实现悬浮窗日志输出

文章详细展示了如何在UI中创建按钮,实现自动浮窗、无障碍服务管理和日志输出功能,涉及Android开发和JavaScript编程技巧。

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


"ui";
ui.layout(
    <vertical>
        <button id="autoFloatWindow" text="开启悬浮窗" textSize="15sp" />
        <button id="autoService" text="开启无障碍服务" textSize="15sp" />
        <button id="fw" text="打开悬浮窗" />
        <button id="fw2" text="输出一串日志" />
    </vertical>
);
ui.autoService.on("click", function () {
    //弹出无障碍服务设置
    app.startActivity({
        action: "android.settings.ACCESSIBILITY_SETTINGS"
    });


});

ui.autoFloatWindow.on("click", function () {
    //申请悬浮窗
    importClass(android.content.Intent);
    importClass(android.net.Uri);
    importClass(android.provider.Settings);
    var intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
        Uri.parse("package:" + context.getPackageName()));
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    app.startActivity(intent);
});

ui.fw.on("click", function () {
    threads.start(function(){
       console.show();
    });
});
ui.fw2.on("click", function () {
    threads.start(function(){
        console.log("123");
        console.log("456");
        console.log("123");
        console.log("123");
        console.log("123");
        console.log("123");
        console.log("123");
        console.log("123");
        console.log("123");
        console.log("123");
        console.log("888");
    });
});


输出效果:

Auto.js 是一款基于 JavaScript 的自动化脚本工具,在安卓设备上可以编写各种实用的辅助功能。而自定义悬浮窗是 Auto.js 中一个非常有特色的应用点,它能让你创建出诸如悬浮按钮、浮动通知栏等交互组件。 在 Auto.js 里构建自定义悬浮窗主要步骤包括: 1. **获取权限**:因为涉及到系统级别的 UI 操作,所以首先你需要让用户授予应用“绘制覆盖其他应用”的权限; ```javascript if (!auto.service浮窗权限()) { app.startActivity({ action: "android.settings.action.MANAGE_OVERLAY_PERMISSION", data: "package:" + context.getPackageName() }); toast("请手动开启悬浮窗权限!"); } ``` 2. **创建窗口布局**:通过 `floaty` 对象提供的 API 来设置悬浮窗的内容视图及其属性(如位置、大小、透明度等等)。例如下面的例子展示了如何添加一个简单的圆形图标作为悬浮元素; ```javascript var window = floaty.window( <frame> <img id="icon" src="path_to_icon.png"/> </frame> ); // 调整初始坐标 window.setPosition(100, 300); // 设置不可点击穿透,默认false即阻挡触摸事件传给底层控件 window.setTouchable(true); // 当用户拖拽时触发的动作... window.setOnTouchListener(function(view, event) { if (event.getAction() == event.ACTION_MOVE) return true; }); ui.run(() => { icon.click(() => console.log('Clicked!'))}); ``` 3. **管理生命周期**:考虑到性能优化以及用户体验的问题,还需要考虑好何时显示隐藏甚至移除这个浮动层,并处理好相关的资源释放工作。 4. **增强样式和互动效果**:根据实际需求进一步美化外观设计,比如改变背景颜色、增加动画过渡特效或是响应手势操作来扩大缩小等功能特性。 以上就是关于利用 Auto.js 实现自定义悬浮窗的一个简要介绍了,希望对您有所帮助!
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

FL1623863129

你的打赏是我写文章最大的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值