Как масштабировать View / ViewGroup – правильно настроить макет?

В нескольких словах я хочу масштабировать вид – так же, как это делает Android Market, когда вы нажимаете кнопку «Дополнительно», для примера «Описание».
Я понимаю, что Android Market имеет структуру следующей структуры:

<FrameLayout android:id="@+id/artists_frame" android:layout_width="fill_parent" android:layout_height="64dip" android:layout_below="@id/something1" android:layout_above="@id/something2" > <!-- Some view there, which height >> 64dip --> </FrameLayout> 

Итак, я пробовал различные анимации / LayoutAnimations в FrameLayout (через view.setAnimation(), view.setLayoutAnimation() и ScaleAnimation ), но эффект всегда один и тот же: просмотр анимируется, но это реальный layout_height после масштабирования по-прежнему То же самое (поэтому положение других представлений, зависящих от данного FrameLayout, остается неизменным).

После этого я подумал – я меняю в цикле layout_height данного FrameLayout:

 layoutParams = view.getLayoutParams() layoutParams.height = scaleTo; layout.setLayoutParams(layoutParams); 

У меня есть анимационный, рыночный вид, но стоимость (производительность !!!) – это способ …

Таким образом, возникает вопрос: есть ли какой-либо другой правильный способ масштабирования (например, высота от 50dip до 200dip) данной View / ViewGroup, чтобы изменить положение просмотров под анимационным представлением?

Solutions Collecting From Web of "Как масштабировать View / ViewGroup – правильно настроить макет?"

Как говорит Chet Haase в этом блоге: http://android-developers.blogspot.com/2011/02/animation-in-honeycomb.html

«… Наконец, предыдущие анимации изменили внешний вид целевых объектов … но они фактически не изменили сами объекты …»

Поскольку ваши потребности визуальны, вместо того, чтобы изменять LayoutParameters я бы анимировал представление в нижней части, а также с помощью перевода с помощью android:fillAfter для обоих.