当前位置: 首页 > 面试题库 >

ActionBar或ActionBarSherlock-平滑隐藏/显示ActionBar

汪翰墨
2023-03-14
问题内容

我正在使用ActionBarSherlock,并尝试使用以下方法隐藏/显示全屏图像的ActionBar:

getSupportActionBar.hide();

getSupportActionBar.show();

但这确实是跳跃和尴尬的。有没有办法使它更平滑,或者应用平移/不透明动画?

在进一步检查ABS源并观察其行为后,似乎至少定义了最少的动画。对于标准ActionBar,不能说相同的话。

为了完整起见,这是我从ImageView.click调用的相关代码:

if( shouldRender )
{
  . . .

  getSupportActionBar().hide();

  getWindow().addFlags( WindowManager.LayoutParams.FLAG_FULLSCREEN );
}
else
{
  . . .

  getSupportActionBar().show();

  getWindow().clearFlags( WindowManager.LayoutParams.FLAG_FULLSCREEN );
}

值得注意的是,标志的设置/清除也会引起跳转,但是跳转不那么明显,所以我将在以后解决它,如果有的话。

编辑:
这(通过ABS的创造者)似乎状态,它在本地的ActionBar是不可能的。我想我只可以编辑两个XML文件来定义他的动画,但这不会给我带来完整的平台渗透力。


问题答案:

我使用叠加式ActionBar

 requestWindowFeature(com.actionbarsherlock.view.Window.FEATURE_ACTION_BAR_OVERL‌​AY);

调用show()/ 时,它不显示动画hide()



 类似资料:
  • 我想隐藏的动作条,当一个activity启动,当用户触摸屏幕显示几秒钟,然后再次隐藏。 下面是我想要的,但我想知道是否有更好的方法(忽略一些样式问题:魔术数字、逻辑重复等)。 我用的是ActionBarSherlock。 谢谢

  • 有没有办法在另一个程序中隐藏窗口或框架?例如,如果你打开了一个Firefox窗口,并且运行了你的程序,那么它会和firefoxFrame一样。setVisible(false),但很明显,我没有对另一个程序框架的引用。然后也许以后,firefoxFrame。setVisible(真)

  • 主要内容:实例,jQuery hide() 和 show(),实例,实例,实例,jQuery toggle(),实例隐藏、显示、切换,滑动,淡入淡出,以及动画,哇哦! 因为时间是宝贵的,我们提供快捷方便的学习方法。 在小牛知识库,你可以学习需要的知识。 实例 jQuery hide() 简单的jQuery hide()方法演示。 jQuery hide() 另一个hide()实例。演示如何隐藏文本。 jQuery hide() 和 show() 通过 jQuery,您可以使用 hide() 和

  • 问题内容: 我第一次弄乱React.js,找不到通过click事件在页面上显示或隐藏内容的方法。我没有在页面上加载任何其他库,所以我正在寻找使用React库的本机方法。到目前为止,这就是我所拥有的。当点击事件触发时,我想显示结果div。 问题答案: 大约在2020年做出反应 在回调中,调用状态挂钩的 setter函数以更新状态并重新渲染: JSFiddle 反应约2014年 关键是使用来更新点击处

  • 我有一个包含4个嵌套线性布局的线性布局。我需要隐藏第一个嵌套布局并显示2和3,然后隐藏2和3并显示1。我想用滑动效果对这些过渡进行动画处理。所以有屏幕的第一张幻灯片,然后是2和3幻灯片。我设法使1滑出动画(虽然不是很顺利),但不知道如何从视图继续滑动。去查看。可见。 如果没有动画,我只需在1号做SetVisibly来隐藏它,然后在2/3号做SetVisibly来拍摄它们,这是非常容易出错的,文本重

  • 排除不显示字段 Model.findAll({ attributes: { exclude: ['baz'] } });