【发布时间】:2015-09-16 07:55:50
【问题描述】:
我有如下屏幕所示的活动。
视图 1 的宽度和高度分别为 match_parent。视图 2 具有宽度 match_parent 和固定 (200 dp) 高度。
单击按钮时,我会更改视图 2 的可见性(从可见到消失)。一旦我隐藏视图 2,视图 1 就会立即全屏显示或突然出现。我希望 View 1 逐渐扩展到带有动画的全屏,而不是立即展开。
如何为这个布局大小变化设置动画?
【问题讨论】:
我有如下屏幕所示的活动。
视图 1 的宽度和高度分别为 match_parent。视图 2 具有宽度 match_parent 和固定 (200 dp) 高度。
单击按钮时,我会更改视图 2 的可见性(从可见到消失)。一旦我隐藏视图 2,视图 1 就会立即全屏显示或突然出现。我希望 View 1 逐渐扩展到带有动画的全屏,而不是立即展开。
如何为这个布局大小变化设置动画?
【问题讨论】:
您可以在父布局上设置android:animateLayoutChanges="true"。这适用于 API 11 及更高版本。
【讨论】:
你需要对 view1 使用缩放动画,对 view2 使用淡出,然后使用 Animatorset 同时运行这两者。例如对于一个简单的缩放动画
ScaleAnimation anim = new ScaleAnimation(fXscale, toXscale, fYscale, tYscale, Animation.RELATIVE_TO_SELF, (float)0.5, Animation.RELATIVE_TO_SELF, (float)0.5);//fix to fit your needs.
【讨论】: