【问题标题】:Android unable to hide title barAndroid无法隐藏标题栏
【发布时间】:2015-05-28 18:16:23
【问题描述】:

我有一个显示相机预览和按钮的片段,在片段的活动中,我试图隐藏标题栏,但它不起作用。标题栏仍然显示。在活动中:

@Override
public void onCreate(Bundle savedInstanceState) {
    // Hide the window title
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    // Hide the status bar and other OS-level chrome
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

    super.onCreate(savedInstanceState);
}

我正在关注 Android Programming: The Big Nerd Ranch Guide 一书。

【问题讨论】:

标签: android android-actionbar android-titlebar android-statusbar


【解决方案1】:
@Override
protected void onCreate(final Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);

    // Make this activity, full screen
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
        WindowManager.LayoutParams.FLAG_FULLSCREEN);

    // Hide the Title bar of this activity screen
    getWindow().requestFeature(Window.FEATURE_NO_TITLE);

    setContentView(R.layout.main);

...

}

【讨论】:

  • 这本书说“必须在 Activity.setContentView(...) 中创建活动视图之前调用 requestWindowFeature(...) 和 addFlags(...),在 CrimeCameraActivity 中调用超类的 onCreate(Bundle) 实现。”
  • 事实上,如您所见,我在 之前 setContentView() (和 之后 super.onCreate() )...
  • 很抱歉我忘记添加 setContentView()。但是,它似乎仍然会因“android.util.AndroidRuntimeException:在添加内容之前必须调用 requestFeature()”而崩溃。
  • 是的:之前 setContentView()!!
【解决方案2】:

在清单中更改此

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

【讨论】:

  • 它不允许我使用它。 “java.lang.IllegalStateException:您需要在此活动中使用 Theme.AppCompat 主题(或后代)”。这也会使整个应用程序没有标题栏吗?我只想将它隐藏在一个活动中。
  • 不,您也可以为单个活动设置主题。尽管如果标准主题不是您所期望的,您可以制作自己的主题。见this
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多