Вы не можете напрямую делать то, что вы хотите сделать со старым Android-API анимации.Вы уже заметили одно ограничение - при масштабировании группы также используются дочерние элементы.
Второе ограничение заключается в том, что старый API-интерфейс Android-анимации влияет только на визуальный рендеринг анимируемого элемента и только длявремя анимация активна.Другими словами, это фактически не изменяет размер или расположение рассматриваемого элемента с точки зрения макета представления.Это только временно делает это другим способом.Так, например, чтобы анимировать кнопку, перемещающуюся от x к y по экрану, вам нужно будет запустить анимацию, а затем, когда анимация завершится, фактически изменить положение кнопки с помощью API макетов.
Вероятно, это можно сделатьто, что вы ищете:
- Включите дополнительный виджет ViewGroup в свой макет, располагая и измеряя поверх виджета, содержащего «настоящие» элементы.Сначала он невидим.
- Сделайте его видимым и воспроизведите анимацию.
- Когда анимация будет завершена, скройте дополнительный виджет, затем измените размер реального виджета ViewGroup через LayoutParams и добавьте свои дополнительные элементы.
- Возможно, вам потребуется настроить этот общий контур, чтобы эффект выглядел плавно.(Например, измените размер реальной группы просмотра в фоновом режиме, прежде чем удалять поддельную группу просмотра с экрана).
Android представил более новый, более гибкий API-интерфейс анимации в 3.0 Honeycomb, но, к сожалению, он недоступен, есливы ориентируетесь на устройства 2.x (например, телефоны).Надеюсь, это будет проще, когда новые API станут массовыми.