Hi there,

I draw a grid on a surface, and each cell of the grid is filled with a gradient, so what I do is to create a LinearGradient for each cell, then set as a shader for a Paint, and finally create a Rect using that Paint.

Something in the way of:

Paint cellPaint = new Paint();
...
for (i=0; i<cell.length; i++) {
LinearGradient gradient = new LinearGradient(cell[i].left, cell[i].top, 80, 80, Color.BLACK, Color.WHITE, Shader.TileMode.CLAMP);
    cellPaint.setShader(cellGradient);
canvas.drawRect(cell[i].left, cell[i].top, cell[i].left+79, cell[i].top+79, cellPaint);
}


The problem is that I need to create a lot of LinearGradient objects, one for each cell, even when they use the same colors, size, etc. and just changes the coordinates because each one is drawn on a different place.

But LinearGradient constructor seems to use "absolute" coordinates, I mean relatives to the whole screen, so a LinearGradient created on x and y coordinates, cannot be reused on x2 and y2 (where x2 and y2 are different from x and y, of course).

Does someone knows a more or less straight forward manner to solve this problem creating just one LinearGradient and then "moving" it to different places as needed?

Best regards,

--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to