A listener sounds like a good idea - onSizeChanged is the actual
resize callback in the layout process.

You can follow the same pattern as used for click events, etc - a
listener interface, and set...Changed(... listener) in your subclass
of FrameLayout.

-- Kostya

2011/9/28 Philipp Comans <[email protected]>:
> 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

-- 
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