Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to fill a Path in Android with a linear gradient?

Given a closed Path object result is like this:

enter image description here

Although that is a rectangle I'm looking for something which works with any closed Path.

like image 895
Carl Whalley Avatar asked May 14 '10 17:05

Carl Whalley


1 Answers

While steelbytes' answer will probably give you more control over the individual sections of the gradient, you can do it without the path:

Paint m_Paint = new Paint(); protected void onDraw(Canvas canvas) {     super.onDraw(canvas);     // start at 0,0 and go to 0,max to use a vertical     // gradient the full height of the screen.     m_Paint.setShader(new LinearGradient(0, 0, 0, getHeight(), Color.BLACK, Color.WHITE, Shader.TileMode.MIRROR));     canvas.drawPaint(m_Paint); } 
like image 136
idbrii Avatar answered Oct 04 '22 02:10

idbrii