You can't directly do what you're seeking to do with the old Android animation API. You've already noticed one limitation - that scaling the group also includes the children.
The second limitation is that the old Android animation API only affects the visual render of the item you're animating, and only for the time the animation is active. In other words, it doesn't actually alter the size or positioning of the item in question in terms of view layout. It only temporarily renders it a different way. So for instance, to animate a button moving from x to y across the screen, you would need to run the animation, then when the animation completes actually reposition the button using the layout APIs.
Probably the way to do what you're looking for is:
- Incorporate an extra ViewGroup
widget in your layout, positioned
and sized over top the widget
containing the "real" items.
Initially, it's invisible.
- Make
it visible, and play the animation.
- When animation complete, hide the
extra widget, then resize your real
ViewGroup widget via LayoutParams
and add your extra items.
- You'll
probably need to tweak this general
outline to make the effect look
smooth. (For instance, resize the real viewgroup in the background before you remove the fake viewgroup from the screen).
Android introduced a newer, more flexible animation API in 3.0 Honeycomb, but unfortunately it's not available if you're targeting 2.x devices (i.e., phones). Hopefully this will be easier once the new APIs are mainstream.