[英]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.