2

我对具有操作栏的设备有一些问题。在手机上运行时,我想全屏显示,没有标题栏和状态栏。在平板电脑上,我想显示操作栏,但仍然没有标题栏。明斯克是 7 岁!当您切换全屏时,setTheme 方法不起作用,所以我不能有两个主题。有没有办法在全屏模式下显示操作栏?支持库不支持操作栏。

我首先要这样做的唯一原因是因为他们没有充分的理由通过将菜单键移动到操作栏来破坏向后兼容性。根据文档,简单的解决方案是将 android:showAsAction="ifRoom" 添加到菜单项中。但这绝对没有任何作用。

我还测试了我在谷歌上找到的许多可以切换全屏的解决方案。它们都不能在我的任何设备上运行,所以如果你自己没有使用过,请不要指向你读过的东西。

编辑:我解决了这个问题。问题似乎是您必须指定一个 Holo 主题才能恢复操作栏。否则不会显示。我在我的主要活动中添加了这个。

@Override
public void setTheme(int resid) {
    if(isTablet(this))
    {
        super.setTheme(android.R.style.Theme_Holo);
        return;
    }
    super.setTheme(resid);
}
4

1 回答 1

2

在平板电脑上我想显示操作栏但仍然没有标题栏

操作栏取代了标题栏。不存在具有操作栏标题栏的活动的概念。

有没有办法在全屏模式下显示操作栏?

AFAIK,不,根据定义。

支持库不支持操作栏。

ActionBarSherlock 为 API 级别 7 和更高级别提供了操作栏的后向端口。

根据文档,简单的解决方案是将 android:showAsAction="ifRoom" 添加到菜单项中。但这绝对没有任何作用。

如果您没有操作栏,它肯定“什么都不做”。如果您想要全屏体验,则需要自行更换菜单。恕我直言,大多数全屏应用程序已经这样做了(例如,带有游戏风格“菜单”的游戏)。

于 2012-09-24T18:47:06.363 回答