2014-09-01 72 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

相關問題