binIoter / GuideView

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

优化(1、关闭硬件加速否则在有些Android机上无法显示高亮 2、圆形抗锯齿) #17

Closed FlyingFeeling closed 7 years ago

FlyingFeeling commented 7 years ago

关闭硬件加速:在MaskView类的构造函数中加上 setLayerType(View.LAYER_TYPE_SOFTWARE, null); 抗锯齿:作者用的是canvas的canvas.clipPath()方法实现高亮区域的显示,canvas本身没有设置抗锯齿的方法,所以为了实现肉眼上的抗锯齿,在dispatchDraw()方法中加上下面几行代码: if (!mOverlayTarget && mStyle == Component.CIRCLE) { Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); paint.setColor(Color.WHITE); paint.setStyle(Paint.Style.STROKE); paint.setStrokeWidth(2.0f); paint.setAntiAlias(true); canvas.drawCircle(mTargetRect.centerX(), mTargetRect.centerY(), mTargetRect.width() / 2-1, paint); }

binIoter commented 7 years ago

这个问题已经解决了 ,请更新最新代码试一下,谢谢,您的宝贵建议