Короче говоря, я хочу масштабировать представление - так же, как это делает 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>
Итак, я попробовал различные Animations / LayoutAnimations на FrameLayout (через view.setAnimation(), view.setLayoutAnimation()
и ScaleAnimation
), ноэффект всегда один и тот же: представление анимируется, но его реальное layout_height после масштабирования остается прежним (поэтому положение других представлений, зависящих от данного FrameLayout, остается прежним).
После этого, Я думал - я изменяю в цикле layout_height данного FrameLayout:
layoutParams = view.getLayoutParams()
layoutParams.height = scaleTo;
layout.setLayoutParams(layoutParams);
У меня есть анимированный, рыночный вид, но стоимость (производительность !!!) - это путьto high ...
Таким образом, вопрос заключается в следующем: существует ли какой-либо другой, правильный способ масштабирования (например, изменения высоты с 50dip на 200 dip) данного View / ViewGroup, чтобы положение представлений ниже анимациивид тоже меняется?