How to get the X Y coordinates and pixel size of a TextView?
Asked Answered
R

2

8

Given a TextView, is it possible to know at runtime the X and Y coordinates of where it is drawn? Is it also possible to know the size (width/length) in pixels?

Radmilla answered 26/10, 2011 at 15:56 Comment(0)
F
14

There are getLeft(), getTop(), getWidth(), getHeight() methods for a view, it works for textView too. for more information , see the following link...

getLeft() and getTop() will return you the starting x,y co-ordinates.

http://developer.android.com/reference/android/view/View.html

Freewheeling answered 26/10, 2011 at 16:4 Comment(4)
This give me always value '0'. This can not helpful to me, can you help me? suggest any other solution plz.Lamelli
@YogGuru, you could also try getLocationInWindow, getLocationOnScreen, because getLeft and getTop are relative to view parent.Envisage
@Envisage Hey..!! It was my mistake i do try to get this in Oncreat method it always gives '0' but when i try to get in ontouch method it gives me value.Lamelli
these return the position relative to the parent, not the absolute position.Orissa
V
4

Coordinates relative to parent

int x = textView.getLeft();
int y = textView.getTop();

Absolute coordinates

int[] location = new int[2];
textView.getLocationOnScreen(location);
int x = location[0];
int y = location[1];

See this answer for more.

Pixel size

int width = textView.getWidth();
int height = textView.getHeight();

Notes

  • If you are getting (0,0) it could be because you are getting the relative coordinates related to the parent layout (and it is sitting in the top left corner of the parent). It could also be because you are trying to get the coordinates before the view has been laid out (for example, in onCreate()).
Verso answered 28/7, 2017 at 0:17 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.