binIoter / GuideView

东半球最好用的新手引导库,能够快速为任何一个View创建一个遮罩层,支持单个页面,多个引导串联展示,支持为高亮区域设置不同的图形,支持引导动画,方便扩展,良好支持fragment
3.96k stars 651 forks source link

gif 中蒙板的默认背景是半透明黑色,实际使用是半透明白色。 #55

Open zhaiyong4118 opened 5 years ago

zhaiyong4118 commented 5 years ago

drawbitmap里面添加了一个paint后修复了这个问题

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    if (mChangedHeight != 0) {
        mTargetRect.offset(0, mChangedHeight);
        mInitHeight = mInitHeight + mChangedHeight;
        mChangedHeight = 0;
    }
    mEraserBitmap.eraseColor(Color.TRANSPARENT);
    mEraserCanvas.drawColor(mFullingPaint.getColor());
    if (!mOverlayTarget) {
        switch (mStyle) {
            case Component.ROUNDRECT:
                mEraserCanvas.drawRoundRect(mTargetRect, mCorner, mCorner, mEraser);
                break;
            case Component.CIRCLE:
                mEraserCanvas.drawCircle(mTargetRect.centerX(), mTargetRect.centerY(), mTargetRect.width() / 2, mEraser);
                break;
            default:
                mEraserCanvas.drawRoundRect(mTargetRect, mCorner, mCorner, mEraser);
                break;
        }
    }
   // 这里我添加了一个paint,貌似修复了这个问题
    canvas.drawBitmap(mEraserBitmap, mOverlayRect.left, mOverlayRect.top, paint);
}
binIoter commented 5 years ago

你把Bitmap.Config.ALPHA_8 改成 Bitmap.Config.RGB_565 试一下

mhyc666 commented 4 years ago

mEraserBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);//就可以了

aiynmm commented 4 years ago

给你一个赞! @mhyc666

SKYLZH commented 4 years ago

@aiynmm 大大的攒