I have 2 TextViews on top of an ImageView. I am using the Canvas
and Paint
classes to draw the captions on the picture. I want the captions to have about 20dp of gap between the top of the image and the top of the TextView. What are some ways to get these values to input into the y value of Canvas.drawText()
?
The text origin is like the image, it starts on left top, for the top text just set the y origin to +20dp, for the bottom text set the y origin to text.height+20dp
Center text:
x = image.width/2 - text.width/2;
Top text Y axis
y = 20;
Bottom text Y axis:
y = image.height - 20 - text.height;
Is important that you measure the text before attempting yo get the width of the drawed text.
Check this answer: Measuring text height to be drawn on Canvas ( Android )