Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 运行ActionBar向上滑动动画时调整视图大小_Android_Android Actionbar_Android Animation_Onmeasure - Fatal编程技术网

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

Android 运行ActionBar向上滑动动画时调整视图大小,android,android-actionbar,android-animation,onmeasure,Android,Android Actionbar,Android Animation,Onmeasure,我在活动中有一个ImageView,当用户单击它时,我会设置视图高度的动画,使其成为全屏(其他视图只是隐藏在屏幕底部下方) 但是,动画完成后,我会隐藏操作栏(使用getSupportActionBar().hide()),因此我需要再次将ImageView的大小调整得稍大一点,以再次显示全屏。 在父视图中,我尝试覆盖onMeasure和onLayout以在actionbar滑出屏幕时获得可用的大小,但它不起作用,我只在actionbar动画结束时获得新的大小+当我设置视图高度并请求布局时,它不会

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

但是,动画完成后,我会隐藏操作栏(使用
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
之前设置该功能。