# 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教程

### QQ群
747748653