在ActionBar上滑动画运行时调整视图大小

时间:2013-06-19 16:13:54

标签: android android-actionbar android-animation onmeasure

我在一个活动中有一个ImageView,当用户点击它时,我设置了视图高度的动画,使其变为全屏(其他视图只是隐藏在屏幕底部下方)。

然而,一旦动画结束,我隐藏了操作栏(使用getSupportActionBar().hide()),因此我需要再次调整ImageView的大小,以便再次拍摄全屏。
在父视图中,我尝试覆盖onMeasureonLayout,以便在操作栏滑出屏幕时获取可用的大小,但它不起作用,我只在操作栏的末尾获得新大小动画+当我设置视图的高度和请求布局时,它不会再次布局(所以我仍然可以看到屏幕底部的其他视图)。

1 个答案:

答案 0 :(得分:3)

在您的活动中致电ActionBar之前,请致电requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY),使setContentView()成为重叠。然后,当您运行动画时,ImageView的全屏大小将落后于ActionBar

如果您在隐藏之前根本不想在其后面看到ActionBar,您可能不得不弄乱隐藏ImageView的时间,但这可以相对完成轻松使用ThreadAsyncTask