ActionBar的覆盖叠加

作者: brant_feeboo | 来源:发表于2017-02-04 17:17 被阅读0次

默认情况下,action bar 显示在 activity 窗口的顶部,会稍微地减少其他布局的有效空间。如果在用户交互过程中要隐藏和显示 action bar,可以通过调用ActionBar中的hide()show()来实现。但是,这将导致 activity 基于新尺寸重新计算与绘制布局。

为避免在 action bar 隐藏和显示过程中调整布局的大小,可以为 action bar 启用叠加模式(overlay mode)。在叠加模式下,所有可用的空间都会被用来布局就像ActionBar不存在一样,并且 action bar 会叠加在布局之上。这样布局顶部就会有点被遮挡,但当 action bar 隐藏或显示时,系统不再需要调整布局而是无缝过渡。

启用叠加模式(Overlay Mode)

要为 action bar 启用叠加模式,需要自定义一个主题,该主题继承于已经存在的 action bar 主题,并设置android:windowActionBarOverlay属性的值为true。

仅支持 Android 3.0 和以上

如果minSdkVersion为11或更高,自定义主题必须继承Theme.Holo主题(或者其子主题)。例如:

指定布局的顶部边距

当 action bar 启用叠加模式时,它可能会遮挡住本应保持可见状态的布局。为了确保这些布局始终位于 action bar 下部,可以使用actionBarSize属性来指定顶部margin或padding的高度来到达。例如:

源地址:http://wiki.jikexueyuan.com/project/android-training-geek/overlaying.html

相关文章

  • ActionBar的覆盖叠加

    默认情况下,action bar 显示在 activity 窗口的顶部,会稍微地减少其他布局的有效空间。如果在用户...

  • 代码隐藏状态栏

    ActionBar actionbar=getSupportActionBar();if(actionbar !=...

  • cavas坐标原点

    代码 ActionBar存在时有ActionBar.PNG ActionBar不存在时无ActionBar.PNG

  • ActionBar方法

    ActionBar acrtionBar = getActionBar(); (1)actionBar.setHo...

  • 导航栏设置

    1.隐藏导航栏 ActionBar actionBar = getSupportActionBar(); acti...

  • 模块4:主视图UI布局 - 使用Toolbar (2)

    替换Actionbar 替换分两步——第一步自然是去掉系统自带的Actionbar。 去掉系统Actionbar ...

  • 4(2)功能框

    Actionbar/Action Sheets/Acitivity View(动作栏/操作栏) Actionbar...

  • Actionbar

    简述 Actionbar使得Activity的使用具备统一习惯 Tooglebar Actionbar

  • 自定义 ActionBar

    1 . 创建布局 actionbar_custom.xml 2 . activity 中设置 actionbar ...

  • ActionBar

    ActionBar的样子 创建ActionBar 1.必须是继承Acitivity2.AndroidManifes...

网友评论

    本文标题:ActionBar的覆盖叠加

    本文链接:https://www.haomeiwen.com/subject/saxsittx.html