2016-01-27 64 views
1

ExampleAndroid的帆布梯度

我試着畫出這在Android的畫布,我有qwestions ....

1)爲什麼所有着色器導致只有白色和黑色?沒有顏色...

2)如何設置顏色超過2點(x,y)?

3)哪裏可以找到示例,將顯示usege的簡單組合?

Shader1 = new LinearGradient(0, 0, 0,BarHeight,0xff696969 ,0xffffffff, Shader.TileMode.CLAMP); 
Shader2 = new LinearGradient(BarHeight/2, BarHeight/2, 0,34,0xf0696969 ,0xfff34f5f, Shader.TileMode.CLAMP); 
ComposeShader mShader = new ComposeShader(Shader2, Shader1, PorterDuff.Mode.MULTIPLY); 
     GraundPaint.setShader(mShader); 
     canvas.drawRoundRect(rectf, 0, 0, GraundPaint); 

回答

0

可以使用的LinearGradient,這需要的顏色的數組,並位置的對應陣列的this constructor(0和1之間)設置2分以上

對於使用LinearGradient的簡單示例,您可能會看到here

+0

謝謝!我是一個newBie所以這是相當愚蠢的問題( –

+0

很高興如果我可以幫忙,我不認爲有這樣的事情作爲一個愚蠢的問題:) –

+0

我有更多的問題(( 我可以得到寬度和高度的屏幕,但不是在OnDraw()?我試圖在OnDraw()之前創建所有着色器(),但它有一定的依賴從屏幕的寬度和高度.. –