# autojs-NewbieGuide **Repository Path**: yashujs/autojs-newbie-guide ## Basic Information - **Project Name**: autojs-NewbieGuide - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 1 - **Created**: 2021-02-13 - **Last Updated**: 2024-05-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # autojs之新手引导 ## 作者: 牙叔 ## 使用场景: 引导新用户, 学习软件的使用方法 ## 效果展示: 仅为演示功能, 未做美化 --- ## 实现步骤 1. 等待页面布局加载完毕 ```js ui.guide.click(function () { log("开启新手引导"); setTimeout(function () { 新手引导(); }, 500); }); ``` 2. 截图 ```js function screenCapture(activity) { log("screenCapture"); // 获取windows中最顶层的view view = activity.getWindow().getDecorView(); view.buildDrawingCache(); // 获取状态栏高度 rect = new Rect(); view.getWindowVisibleDisplayFrame(rect); statusBarHeights = rect.top; display = activity.getWindowManager().getDefaultDisplay(); // 获取屏幕宽和高 widths = display.getWidth(); heights = display.getHeight(); // 允许当前窗口保存缓存信息 view.setDrawingCacheEnabled(true); // 去掉状态栏 let bmp = Bitmap.createBitmap(view.getDrawingCache(), 0, statusBarHeights, widths, heights - statusBarHeights); // 销毁缓存信息 view.destroyDrawingCache(); return bmp; } ``` 3. 添加一个`popWindow`, 里面只有一个`` ```js let contentView = ui.inflate( , null, false ); let mPopWindow = new PopupWindow( contentView, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT, true ); ``` 4. 画一层遮罩 ```js canvas.drawARGB(200, 125, 125, 125); ``` 5. 指定按钮处画边框 ```js paint.setStyle(Paint.Style.STROKE); //空心矩形框 paint.setStrokeWidth(20); paint.setColor(colors.parseColor("#0000ff")); canvas.drawRect(data.left, data.top, data.right, data.bottom, paint); ``` 6. 指定按钮从图片中裁剪出来 ```js let clip = images.clip(img, data.left, data.top, data.right - data.left, data.bottom - data.top); let smallBitmap = clip.getBitmap(); ``` 7. 画指定按钮 ```js canvas.drawBitmap(smallBitmap, data.left, data.top, paint); ``` 8. 添加文字 ```js paint.setTextAlign(Paint.Align.CENTER); paint.setTextSize(70); paint.setStyle(Paint.Style.FILL); paint.setColor(colors.parseColor("#f000ff")); canvas.drawText(data.introduction, data.left + parseInt((data.right - data.left) / 2), data.bottom + 100, paint); ``` 9. `img`控件加载图片 ```js imgView.attr("src", "file://" + compositeImgpath); ``` --- ### 微信公众号 AutoJsPro教程 ![AutoJsPro教程](officialAccount.jpg) ### QQ群 747748653