Acticvity.onWindowFocusChanged( hasFocus == true ) is what I use in
the rare cases where I need it.

On Sep 28, 6:21 am, Philipp Comans <[email protected]>
wrote:
> Hi,
> I have a FrameLayout in my Activity of which I need to know the size in
> pixels at runtime.
> Although getWidth() and getHeigh() return 0 for any(?) ViewGroup without any
> children, I figured out that I can use the functions getMeasuredWidth()
> and getMeasuredHeight() to get the actual size on screen after
> the FrameLayout has become visible.
>
> As far as I know there is no Activity callback that gets called after
> everything in the Activity (including the FrameLayout) is visible to the
> user. Before that point in time however, getMeasuredWidth()
> and getMeasuredHeight() also return 0.
>
> I am wondering that the preferred way of getting the size of that view at
> runtime are. I came up with two possible solutions:
>
> Overwriting onWindowFocusChanged() in the Activity: this is a default
> Android callback that not only gets called after the Activity is visible but
> also after anything else has taken the focus. It seems to get me where I
> want but it seems not very elegant.
>
> Another option would be to make my Activity implement a custom interface
> called OnSizeChangedListener, then overwrite the onSizeChanged of the
> FrameLayout to notify the OnSizeChangedListener of any changes in size. This
> seems to only get called when the window size actually changes. However, I
> am a bit unsure if it is good practice to implement a new listener for this.
>
> What approach would you suggest?
>
> Thanks,
>
> Philipp

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

Reply via email to