2013-03-22 46 views
2

添加漸變目前我使用此代碼添加顏色:編程與純色和中風

ShapeDrawable drawable = new ShapeDrawable(new OvalShape()); 
drawable.getPaint().setColor(color); 

現在我需要一些漸變色適用於它與卒中(如不同顏色的邊框)一起。我將此設置爲按鈕的背景。

這是我期待的,我需要以編程方式做到這一點。

enter image description here

回答

3

添加RadialGradientdrawable這樣的:

Shader shader = new RadialGradient(x, y, radius, color0, color1, Shader.TileMode.REPEAT); 
drawable.getPaint().setShader(shader); 

很明顯,你可以交換LinearGradientSweepGradient,和任何參數。

這裏是如何添加行程:

drawable.getPaint().setStrokeWidth(3); 
drawable.getPaint().setColor(Color.WHITE); 
drawable.getPaint().setStyle(Paint.Style.FILL_AND_STROKE); 

嗯,我想我不得不推遲與GradientDrawable到@StinePike:

GradientDrawable gd = new GradientDrawable(); 
gd.setColor(Color.RED); 
gd.setCornerRadius(10); 
gd.setStroke(2, Color.WHITE); 
gd.setShape(GradientDrawable.OVAL); 
+0

感謝什麼關於中風,我有它在我的形象?我的意思是藍色的邊框 – Goofy 2013-03-22 06:16:23

+0

沒有哥們,它不工作,角落現在是矩形,我也希望中風的顏色是不同的,你可以請我幫助我 – Goofy 2013-03-22 06:19:34

+0

這就是我得到的。當我看到您的請求時,我期待着來自最近項目的RadialGradient示例爲您工作。沒有一點實驗,我無法進一步幫助你。我希望這會有所幫助。祝你好運! – 2013-03-22 06:26:06

3

使用GradientDrawable創建漸變

你可以看到這個answer

+0

那個顏色的筆畫呢? – Goofy 2013-03-22 06:22:25

+0

有漸變繪製的setStroke方法 – stinepike 2013-03-22 06:27:50

+0

是它的工作,但如何使漸變可繪製橢圓形? – Goofy 2013-03-22 06:31:29