Android 运行ActionBar向上滑动动画时调整视图大小
我在活动中有一个ImageView,当用户单击它时,我会设置视图高度的动画,使其成为全屏(其他视图只是隐藏在屏幕底部下方) 但是,动画完成后,我会隐藏操作栏(使用Android 运行ActionBar向上滑动动画时调整视图大小,android,android-actionbar,android-animation,onmeasure,Android,Android Actionbar,Android Animation,Onmeasure,我在活动中有一个ImageView,当用户单击它时,我会设置视图高度的动画,使其成为全屏(其他视图只是隐藏在屏幕底部下方) 但是,动画完成后,我会隐藏操作栏(使用getSupportActionBar().hide()),因此我需要再次将ImageView的大小调整得稍大一点,以再次显示全屏。 在父视图中,我尝试覆盖onMeasure和onLayout以在actionbar滑出屏幕时获得可用的大小,但它不起作用,我只在actionbar动画结束时获得新的大小+当我设置视图高度并请求布局时,它不会
getSupportActionBar().hide()
),因此我需要再次将ImageView的大小调整得稍大一点,以再次显示全屏。在父视图中,我尝试覆盖
onMeasure
和onLayout
以在actionbar滑出屏幕时获得可用的大小,但它不起作用,我只在actionbar动画结束时获得新的大小+当我设置视图高度并请求布局时,它不会再次布局(这样我仍然可以在屏幕底部看到其他视图)。在调用setContentView()之前,通过调用requestWindowFeature(Window.FEATURE\u ACTION\u BAR\u overlay)
将操作栏设置为覆盖
在活动中。然后,当运行动画时,ImageView
的全屏大小将位于ActionBar
后面
如果您不想在隐藏之前看到ImageView
,那么您可能需要搞乱隐藏ActionBar
的时间安排,但这可以通过线程或异步任务调用requestWindowFe将ActionBar
覆盖起来在“活动”中调用setContentView()
之前(窗口.功能\u动作\u栏\u覆盖)
。然后,当运行动画时,ImageView
的全屏大小将位于动作栏的后面
如果你不想在隐藏之前看到ImageView
,那么你可能不得不搞乱隐藏ActionBar
的时间安排,但这可以通过Thread
或AsyncTask
来完成。谢谢你的回答。问题是我不想让ActionBar在里面覆盖模式。或者,在活动已启动时,是否可以通过编程方式使ActionBar从非覆盖模式切换到覆盖模式?据我所知,还没有。在调用setContentView
之前,您必须设置该功能。感谢您的回答。问题是我不希望ActionBar处于覆盖模式。或者是否可能o在活动已启动的情况下,通过编程将ActionBar从非覆盖模式切换到覆盖模式?据我所知不是这样。您必须在调用setContentView
之前设置该功能。