我正在使用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 文件,但这不会给我完整的平台渗透。