简而言之,我想缩放视图 - 就像 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>
所以,我在 FrameLayout 上尝试了各种动画/布局动画(通过view.setAnimation(), view.setLayoutAnimation()
和ScaleAnimation
),但效果总是一样的:视图动画,但缩放后的真实 layout_height 仍然相同(所以其他视图的位置,即取决于给定的 FrameLayout,保持不变)。
之后,我想 - 我在循环中更改给定 FrameLayout 的 layout_height:
layoutParams = view.getLayoutParams()
layoutParams.height = scaleTo;
layout.setLayoutParams(layoutParams);
我有动画,类似市场的视图,但是成本(性能!!!)太高了……
所以,问题是:是否有任何其他正确的方法来缩放给定的 View / ViewGroup (例如将高度从 50dip 更改为 200dip),以便动画视图下方的视图位置也会发生变化?