我在一个活动中有一个ImageView,当用户点击它时,我设置了视图高度的动画,使其变为全屏(其他视图只是隐藏在屏幕底部下方)。
然而,一旦动画结束,我隐藏了操作栏(使用getSupportActionBar().hide()
),因此我需要再次调整ImageView的大小,以便再次拍摄全屏。
在父视图中,我尝试覆盖onMeasure
和onLayout
,以便在操作栏滑出屏幕时获取可用的大小,但它不起作用,我只在操作栏的末尾获得新大小动画+当我设置视图的高度和请求布局时,它不会再次布局(所以我仍然可以看到屏幕底部的其他视图)。
答案 0 :(得分:3)
在您的活动中致电ActionBar
之前,请致电requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY)
,使setContentView()
成为重叠。然后,当您运行动画时,ImageView
的全屏大小将落后于ActionBar
。
如果您在隐藏之前根本不想在其后面看到ActionBar
,您可能不得不弄乱隐藏ImageView
的时间,但这可以相对完成轻松使用Thread
或AsyncTask
。