Monday, October 25, 2010

[android-developers] Re: getLocationInWindow API of View class bug?

sorry ignore my posting. Found the solution. print out the location
values in onMeasure where the x, y coordinate is undetermine.

On Oct 25, 6:18 pm, eli <sweehoe.l...@gmail.com> wrote:
> Hi,
>
> I think there may be a bug in getLocationInWindow API, should the
> calculation below take the padding of view into consideration.
>
> //extract from View.java
>  while (viewParent instanceof View) {
>             final View view = (View)viewParent;
>             location[0] += view.mLeft - view.mScrollX;   // missing
> mPaddingLeft ??
>             location[1] += view.mTop - view.mScrollY;   // missing
> mPaddingTop??
>             viewParent = view.mParent;
>         }
>
> My application trying to get its top view x,y coordinate on the
> screen, by calling getLocationOnScreen (which in turn call
> getLocationInWindow), but it not returning the values I was
> expecting.
>
> My application starts an activity with no title but has a status bar.
> Calling getLocationOnScreen from my top view, (the one that gets
> passed into setContentView), I will expect y set to 25. But instead it
> return 0, digging into the frameworks code reveal the height of the
> status bar (i.e. 25) is set to mPaddingTop. So if the calculation
> above includes mPaddingTop, I will get the right value of 25.
>
> Or have I misunderstood the API usage?
>
> Thanks.

--
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+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate