Understanding how actually drawRect or drawing coordinates work in Android

Abhishek Choudhary picture Abhishek Choudhary · Oct 19, 2013 · Viewed 37.1k times · Source

I am trying to draw a rectangle over a canvas and I am facing troubles to understand the in-depth of rectangle draw of Android. I've read tutorials and every possible but I am stuck.

Here in the image , the red rectangle is my target. enter image description here

Irrespective of any rectangle size I need to draw the red rectangle bit above the base and in the middle of the rectangle. The worst nightmare I am facing here is understanding the X,Y Width and Height coordinates.

Can anyone explain how that math works, sometime we go up , Y reaches to very small but same width coordinates are higher. And I am never able to justify red inner rectangle properly.In some screen it works well in some other it fails. The red rectangle sometimes come out of the parent rectangle.

Agenda is to understand how coordinates work and ensure the integrity of inner red rectangle

It'll be great to get an explanation based on an example. I am using-

void drawRect(float left, float top, float right, float bottom, Paint paint)

to drawing the rectangle

Answer

Savan picture Savan · Jan 4, 2014

canvas.drawRect(left,top,right,bottom,paint);

In this

  1. left: distance of the left side of rectangular from left side of canvas.

  2. top:Distance of top side of rectangular from the top side of canvas

  3. right:distance of the right side of rectangular from left side of canvas.
  4. bottom: Distance of the bottom side of rectangle from top side of canvas.