2014-09-01 29 views
0

我划出一道弧线这样的:行程的透明度不执行任何操作

int STEPS = 45; 
    int STARTANGLE = 270; 

    Paint p = new Paint(); 
    p.setAntiAlias(true); 
    p.setStyle(Paint.Style.STROKE); 
    p.setStrokeWidth(200); 
    // opacity 
    p.setAlpha(60); // 

    RectF rectF = new RectF(400, 400, 800, 800); 
    p.setColor(Color.BLACK); 

    for(int i = STARTANGLE; i < 90/STEPS * 4 * STARTANGLE; i += STEPS) { 
     canvas.drawArc(rectF, i, 45, false, p); 
    } 

的目标是动画,但我只是写了一个for循环,看看是否一切正常。

我的不透明不起作用。它是一条黑色的中风线,但是下面的东西被掩盖了。

难道你不能设置中风的不透明度吗?

+0

尝试[this](http://stackoverflow.com/a/10348178/1777090) – 2014-09-01 13:25:29

+0

当我将p.setAlpha切换到10时,它什么也不做。我需要在该链接上更改某些内容吗? – user1007522 2014-09-01 13:27:43

+0

您是否尝试将值更改为255或0? – Nabin 2014-09-01 13:28:51

回答

1

setColor()设置alpha以及RGB值。因此,您致电setColor()正在改变您之前使用setAlpha()设置的字母。

+0

感谢您的解释。 – user1007522 2014-09-01 13:52:43

0

Dhruti的链接激励我改变我做事情的顺序。

您需要先设置颜色,然后设置alpha。然后它就可以工作。

+0

序列变化“正常”的原因有一个原因。看到我的答案! – Trevor 2014-09-01 13:39:09

相关问题