YYPOST群发软件 发表于 5 天前

AIWROK软件安卓工具箱悬浮窗

AIWROK软件安卓工具箱悬浮窗



//🍎交流QQ群711841924群一,苹果内测群,528816639
// 安卓工具箱悬浮窗
// 适用于ES5系统安卓 JavaScript引擎Rhino
// 基于AIWORK软件安卓开发框架
// 提供工具箱功能集合

function 工具箱悬浮窗() {
    this.screenHeight = 1920; // 默认值
    this.screenWidth = 1080;// 默认值
    this.isExpanded = false;   // 展开状态
    this.currentTool = null;   // 当前选中工具
}

// 创建悬浮窗实例
var 工具箱窗口 = new 工具箱悬浮窗();

// 创建悬浮窗方法
工具箱悬浮窗.prototype.create = function() {
    try {
      printl("===== 开始创建工具箱悬浮窗 =====");
      
      // 创建 floatUI 实例
      var fui = new floatUI();
      
      // 获取屏幕尺寸
      try {
            var metrics = context.getResources().getDisplayMetrics();
            this.screenHeight = metrics.heightPixels;
            this.screenWidth = metrics.widthPixels;
            printl("✅ 获取屏幕尺寸: " + this.screenWidth + "x" + this.screenHeight);
      } catch(e) {
            printl("⚠️ 获取屏幕尺寸失败,使用默认值: " + e);
      }
      
      // 加载工具箱悬浮窗XML布局
      fui.loadXML(`
      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="#CC2C2C2C"
            android:orientation="horizontal"
            android:padding="6dp"
            android:elevation="8dp">
            
            <!-- 工具按钮区域 -->
            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:layout_marginRight="6dp">
               
                <!-- 主按钮 -->
                <Button
                  android:id="btn_main"
                  android:layout_width="50dp"
                  android:layout_height="50dp"
                  android:text="&#128295;"
                  android:textSize="20sp"
                  android:background="#4A90E2"/>
               
                <!-- 展开区域 -->
                <LinearLayout
                  android:id="tools_layout"
                  android:layout_width="50dp"
                  android:layout_height="wrap_content"
                  android:orientation="vertical"
                  android:layout_marginTop="5dp"
                  android:visibility="gone">
                  
                  <Button
                        android:id="btn_screenshot"
                        android:layout_width="50dp"
                        android:layout_height="50dp"
                        android:text="&#128248;"
                        android:textSize="20sp"
                        android:background="#28A745"
                        android:layout_marginBottom="3dp"/>
                        
                  <Button
                        android:id="btn_ocr"
                        android:layout_width="50dp"
                        android:layout_height="50dp"
                        android:text="&#128269;"
                        android:textSize="20sp"
                        android:background="#17A2B8"
                        android:layout_marginBottom="3dp"/>
                        
                  <Button
                        android:id="btn_click_record"
                        android:layout_width="50dp"
                        android:layout_height="50dp"
                        android:text="&#128433;️"
                        android:textSize="20sp"
                        android:background="#FFC107"
                        android:layout_marginBottom="3dp"/>
                        
                  <Button
                        android:id="btn_color_picker"
                        android:layout_width="50dp"
                        android:layout_height="50dp"
                        android:text="&#127912;"
                        android:textSize="20sp"
                        android:background="#6F42C1"/>
                </LinearLayout>
            </LinearLayout>
            
            <!-- 工具详情区域 -->
            <LinearLayout
                android:id="detail_layout"
                android:layout_width="180dp"
                android:layout_height="220dp"
                android:background="#E6E6E6"
                android:orientation="vertical"
                android:padding="8dp"
                android:visibility="gone">
               
                <TextView
                  android:id="tool_title"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:text="工具详情"
                  android:textSize="16sp"
                  android:textStyle="bold"
                  android:textColor="#000000"
                  android:layout_marginBottom="5dp"/>
               
                <TextView
                  android:id="tool_description"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:text="选择一个工具查看说明"
                  android:textSize="12sp"
                  android:textColor="#333333"
                  android:layout_marginBottom="10dp"/>
               
                <Button
                  android:id="btn_execute_tool"
                  android:layout_width="match_parent"
                  android:layout_height="35dp"
                  android:text="执行工具"
                  android:textSize="14sp"
                  android:background="#4A90E2"
                  android:textColor="#FFFFFF"/>
               
                <ScrollView
                  android:layout_width="match_parent"
                  android:layout_height="match_parent"
                  android:layout_marginTop="8dp">
                  <TextView
                        android:id="tool_output"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:text="工具输出将显示在这里"
                        android:textSize="10sp"
                        android:textColor="#666666"/>
                </ScrollView>
            </LinearLayout>
      </LinearLayout>
      `);
      
      // 保存floatUI实例
      this.ui = fui;
      
      // 设置初始位置(屏幕左侧居中)
      var posY = (this.screenHeight - 250) / 2;
      this.setPos(20, posY);
      
      // 获取UI元素
      this.btn_main = fui.findViewById("btn_main");
      this.tools_layout = fui.findViewById("tools_layout");
      this.detail_layout = fui.findViewById("detail_layout");
      this.btn_screenshot = fui.findViewById("btn_screenshot");
      this.btn_ocr = fui.findViewById("btn_ocr");
      this.btn_click_record = fui.findViewById("btn_click_record");
      this.btn_color_picker = fui.findViewById("btn_color_picker");
      this.tool_title = fui.findViewById("tool_title");
      this.tool_description = fui.findViewById("tool_description");
      this.btn_execute_tool = fui.findViewById("btn_execute_tool");
      this.tool_output = fui.findViewById("tool_output");
      
      // 初始化按钮事件
      this.initButtons();
      
      printl("✅ 工具箱悬浮窗创建成功");
      toast.show("&#128295; 工具箱已就绪,点击主按钮展开工具");
      
    } catch (err) {
      printl("❌ 悬浮窗创建失败: " + err);
    }
};

// 初始化按钮事件
工具箱悬浮窗.prototype.initButtons = function() {
    var self = this;
   
    // 主按钮点击事件(展开/收起工具栏)
    this.btn_main.setOnClickListener(function() {
      self.toggleTools();
    });
   
    // 截图工具
    this.btn_screenshot.setOnClickListener(function() {
      self.showToolDetail("截图工具", "用于截取当前屏幕并保存到相册", "点击执行按钮进行截图");
      self.currentTool = "screenshot";
    });
   
    // OCR工具
    this.btn_ocr.setOnClickListener(function() {
      self.showToolDetail("OCR识别", "识别屏幕中的文字内容", "框选区域后进行文字识别");
      self.currentTool = "ocr";
    });
   
    // 点击录制工具
    this.btn_click_record.setOnClickListener(function() {
      self.showToolDetail("点击录制", "录制并回放点击操作序列", "开始录制后点击屏幕任意位置");
      self.currentTool = "click_record";
    });
   
    // 取色器工具
    this.btn_color_picker.setOnClickListener(function() {
      self.showToolDetail("屏幕取色器", "获取屏幕上任意点的颜色值", "点击屏幕任意位置获取颜色");
      self.currentTool = "color_picker";
    });
   
    // 执行工具按钮
    this.btn_execute_tool.setOnClickListener(function() {
      self.executeCurrentTool();
    });
};

// 展开/收起工具栏
工具箱悬浮窗.prototype.toggleTools = function() {
    if (this.isExpanded) {
      // 收起
      this.tools_layout.setVisibility(View.GONE);
      this.detail_layout.setVisibility(View.GONE);
      this.isExpanded = false;
      printl("&#128316; 工具箱已收起");
    } else {
      // 展开
      this.tools_layout.setVisibility(View.VISIBLE);
      this.isExpanded = true;
      printl("&#128317; 工具箱已展开");
    }
};

// 显示工具详情
工具箱悬浮窗.prototype.showToolDetail = function(title, description, output) {
    this.tool_title.setText(title);
    this.tool_description.setText(description);
    this.tool_output.setText(output);
    this.detail_layout.setVisibility(View.VISIBLE);
    printl("&#128203; 查看工具: " + title);
};

// 执行当前选中工具
工具箱悬浮窗.prototype.executeCurrentTool = function() {
    var self = this;
   
    if (!this.currentTool) {
      toast.show("❌ 请先选择一个工具");
      return;
    }
   
    switch(this.currentTool) {
      case "screenshot":
            this.tool_output.setText("&#128248; 正在执行截图...");
            toast.show("&#128248; 截图功能执行中...");
            
            // 模拟截图操作
            setTimeout(function() {
                self.tool_output.setText("✅ 截图已完成,保存至相册");
                toast.show("✅ 截图保存成功");
            }, 1500);
            break;
            
      case "ocr":
            this.tool_output.setText("&#128269; 正在初始化OCR识别...");
            toast.show("&#128269; OCR识别准备中...");
            
            // 模拟OCR操作
            setTimeout(function() {
                self.tool_output.setText("&#128269; 请在屏幕上框选需要识别的区域");
                toast.show("&#128269; 请框选识别区域");
            }, 1000);
            break;
            
      case "click_record":
            this.tool_output.setText("&#128433;️ 点击录制已启动,点击屏幕任意位置开始录制");
            toast.show("&#128433;️ 点击录制已启动");
            break;
            
      case "color_picker":
            this.tool_output.setText("&#127912; 屏幕取色器已启动,点击屏幕任意位置获取颜色");
            toast.show("&#127912; 取色器已启动");
            break;
            
      default:
            this.tool_output.setText("❌ 未知工具");
            toast.show("❌ 无法执行未知工具");
    }
};

// 设置悬浮窗位置
工具箱悬浮窗.prototype.setPos = function(x, y) {
    this.ui.setPosition(x, y);
    printl("&#128205; 悬浮窗位置设置为: (" + x + ", " + y + ")");
};

// 关闭悬浮窗
工具箱悬浮窗.prototype.close = function() {
    this.ui.close();
    printl("✅ 工具箱悬浮窗已关闭");
};

// 启动悬浮窗
try {
    工具箱窗口.create();
    printl("===== 工具箱悬浮窗启动成功 =====");
} catch (err) {
    printl("❌ 工具箱悬浮窗启动失败: " + err);
}

页: [1]
查看完整版本: AIWROK软件安卓工具箱悬浮窗