 | |  |  | AIWROK软件日志悬浮窗简化版自动切换位置
- /*
- 🍎交流QQ群711841924群一,苹果内测群,528816639
- 日志悬浮窗简化版 - 专注于核心位置切换功能
- 基于AIWROK平台开发,解决兼容性问题
- */
- // 创建一个新的floatUI实例用于日志显示
- var 日志 = new floatUI();
- // 定义位置配置 - 简化版,只使用基本位置
- var 位置配置 = {
- 左上: { x: 10, y: 100 },
- 左中: { x: 10, y: 400 },
- 左下: { x: 10, y: 700 },
- 中上: { x: 500, y: 100 },
- 中央: { x: 500, y: 400 },
- 中下: { x: 500, y: 700 },
- 右上: { x: 1000, y: 100 },
- 右中: { x: 1000, y: 400 },
- 右下: { x: 1000, y: 700 }
- };
- // 当前位置索引和模式
- var 当前位置索引 = 0;
- var 当前模式 = "自动循环";
- var 位置列表 = ["左上", "左中", "左下", "中下", "右下", "右中", "右上", "中上", "中央"];
- // 加载简化的日志显示界面XML布局
- 日志.loadXML(
- '<LinearLayout orientation="vertical" w="200" h="60" gravity="center" background="#80000000">' +
- ' <TextView id="rz" text="日志系统已启动" textColor="#00ff00" textSize="14" layout_width="wrap_content" layout_height="wrap_content" />' +
- ' <TextView id="状态" text="模式: 自动循环" textColor="#ffff00" textSize="10" layout_width="wrap_content" layout_height="wrap_content" />' +
- '</LinearLayout>'
- );
- // 查找组件
- var g_日志 = 日志.findViewById('rz');
- var g_状态 = 日志.findViewById('状态');
- // 获取屏幕尺寸
- var 屏幕宽度 = screen.getScreenWidth();
- var 屏幕高度 = screen.getScreenHeight();
- // 移动到指定位置
- function 移动到位置(位置名称) {
- var 坐标 = 位置配置[位置名称];
- if (坐标) {
- // 确保坐标在屏幕范围内
- var x = Math.min(坐标.x, 屏幕宽度 - 210);
- var y = Math.min(坐标.y, 屏幕高度 - 80);
-
- 日志.setPosition(x, y);
-
- if (g_状态) {
- g_状态.setText("位置: " + 位置名称);
- }
-
- updateLog("位置: " + 位置名称);
- printl("[日志] 已移动到: " + 位置名称 + " (" + x + ", " + y + ")");
- }
- }
- // 切换到下一个位置
- function 切换到下一个位置() {
- 当前位置索引 = (当前位置索引 + 1) % 位置列表.length;
- var 下一个位置 = 位置列表[当前位置索引];
- 移动到位置(下一个位置);
- }
- // 切换到上一个位置
- function 切换到上一个位置() {
- 当前位置索引 = (当前位置索引 - 1 + 位置列表.length) % 位置列表.length;
- var 上一个位置 = 位置列表[当前位置索引];
- 移动到位置(上一个位置);
- }
- // 切换模式
- function 切换模式() {
- var 模式列表 = ["自动循环", "手动"];
- var 当前模式索引 = 模式列表.indexOf(当前模式);
- 当前模式 = 模式列表[(当前模式索引 + 1) % 模式列表.length];
-
- if (g_状态) {
- g_状态.setText("模式: " + 当前模式);
- }
-
- updateLog("切换到: " + 当前模式);
- }
- // 更新日志内容的函数
- function updateLog(newContent) {
- if (g_日志) {
- g_日志.setText(newContent);
- } else {
- printl("日志视图未正确初始化");
- }
- }
- // 初始化悬浮窗
- if (g_日志) {
- // 延迟设置位置,确保界面加载完成
- setTimeout(function() {
- 移动到位置(位置列表[0]);
- updateLog("日志悬浮窗已启动");
- }, 100);
-
- // 设置自动切换定时器(2秒切换一次)
- var 自动切换定时器 = setInterval(function() {
- if (当前模式 === "自动循环") {
- 切换到下一个位置();
- }
- }, 2000);
-
- // 导出函数供外部调用
- this.updateLog = updateLog;
- this.切换到下一个位置 = 切换到下一个位置;
- this.切换到上一个位置 = 切换到上一个位置;
- this.切换模式 = 切换模式;
- this.移动到位置 = 移动到位置;
- this.获取当前位置 = function() { return 位置列表[当前位置索引]; };
- this.获取当前模式 = function() { return 当前模式; };
-
- updateLog("简化版悬浮窗已启动(2秒切换)");
- printl("=== 日志悬浮窗简化版已启动 ===");
- printl("自动切换间隔: 2秒");
- printl("可用命令:");
- printl("- this.updateLog(\"内容\"): 更新日志");
- printl("- this.切换到下一个位置(): 下一个位置");
- printl("- this.切换到上一个位置(): 上一个位置");
- printl("- this.切换模式(): 切换自动/手动模式");
- printl("- this.移动到位置(\"中央\"): 移动到指定位置");
- printl("可用位置:左上, 左中, 左下, 中上, 中央, 中下, 右上, 右中, 右下");
-
- } else {
- printl("日志视图没有找到。");
- }
- /*
- ================ 简化版使用说明 ================
- 一、功能特点:
- - 解决兼容性问题,专注于核心功能
- - 预设9个常用位置,覆盖屏幕主要区域
- - 自动循环切换,间隔2秒
- - 简化的UI界面,减少资源占用
- - 支持手动控制模式
- 二、使用方法:
- // 1. 直接运行此脚本启动悬浮窗
- // 2. 悬浮窗会自动在9个位置循环切换
- // 3. 通过API函数进行手动控制
- 三、API函数:
- this.updateLog("新内容") - 更新日志内容
- this.切换到下一个位置() - 下一个位置
- this.切换到上一个位置() - 上一个位置
- this.切换模式() - 切换自动/手动模式
- this.移动到位置("中央") - 移动到指定位置
- this.获取当前位置() - 获取当前位置名称
- this.获取当前模式() - 获取当前模式名称
- 四、可用位置:
- "左上", "左中", "左下", "中上", "中央", "中下", "右上", "右中", "右下"
- 五、注意事项:
- - 位置坐标已适配大多数屏幕尺寸
- - 自动避开屏幕边缘,确保完全显示
- - 简化版去除了复杂的交互功能,提高稳定性
- - 适用于AIWROK平台的各种版本
- ================================================
- */
复制代码
| |  | |  |
|