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

