[英]Problem in setalpha as a Paint parameter for draw in canvas
I have extend a class from View class to show in my activity I make a canvas and draw some circles in it This is my ondraw function for this class
override fun onDraw(canvas: Canvas?) {
super.onDraw(canvas)
canvas?.drawColor(Color.BLUE)
circles.forEach {
canvas?.drawCircle(it.xc,it.yc,it.radious,it.paint)
}
}
首先我为背景画一种颜色,然后我画我的圆圈这是我画的圆圈:
val circlePaint = Paint().apply {
color = Color.MAGENTA
style = Paint.Style.FILL
alpha = 120
setLayerType(LAYER_TYPE_SOFTWARE,this)
setMaskFilter(BlurMaskFilter(30f,BlurMaskFilter.Blur.NORMAL))
}
我的问题是当我运行活动时,“alpha = 120”对颜色背景和圆圈都有影响......所以我的背景颜色也在褪色......有人有解决方案吗?
最后我发现了问题。 如果您有类似的问题,当设置一个绘制 alpha 时,您的所有绘图 alpha 都会发生变化,您应该在您的绘制中更改此参数:
setLayerType(LAYER_TYPE_SOFTWARE,this)
至
setLayerType(LAYER_TYPE_SOFTWARE,null)
而已 !
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.