0

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

但是,一旦动画完成,我会隐藏操作栏(使用getSupportActionBar().hide()),因此我需要将 ImageView 的大小再次调整大一点以再次进入全屏状态。
在父视图中,我尝试覆盖两者onMeasureonLayout在操作栏滑出屏幕时获取可用尺寸,但它不起作用,我只在操作栏动画结束时获得新尺寸 + 当我设置视图的高度时并请求布局它不会再次布局(所以我仍然可以在屏幕底部看到其他视图)。

4

1 回答 1

3

在调用您的活动之前通过调用来制作ActionBar叠加层。然后当你运行你的动画时,全屏尺寸会落在.requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY)setContentView()ImageViewActionBar

ActionBar如果你不想在隐藏之前看到它,你可能不得不搞乱何时隐藏ImageView它的时间,但这可以通过 aThread或相对容易地完成AsyncTask

于 2013-06-19T16:29:30.857 回答