【问题标题】:Resize view while ActionBar slide up animation is running在 ActionBar 上滑动画运行时调整视图大小
【发布时间】:2013-06-20 00:29:30
【问题描述】:

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

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

【问题讨论】:

    标签: android android-actionbar android-animation onmeasure


    【解决方案1】:

    在您的活动中调用setContentView() 之前调用requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY) 使ActionBar 叠加。然后当你运行你的动画时,ImageView 的全屏尺寸将落后于ActionBar

    如果您不希望在隐藏之前根本不希望看到 ImageView 在其后面,您可能不得不弄乱隐藏 ActionBar 的时间,但这可以通过 @ 相对轻松地完成987654328@或AsyncTask

    【讨论】:

    • 感谢您的回答。问题是我不希望 ActionBar 处于覆盖模式。
    • 或者是否可以在 Activity 已经启动时以编程方式将 ActionBar 从非覆盖模式切换到覆盖模式?
    • 我不知道。您必须在调用setContentView之前设置该功能。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-19
    • 2015-06-16
    • 1970-01-01
    • 2021-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多