【问题标题】:How to remove the title when launching android app?启动android应用程序时如何删除标题?
【发布时间】:2013-07-24 04:58:22
【问题描述】:

我已经在 onCreate() 方法中删除了标题。

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    final ActionBar actionBar = getActionBar();
    actionBar.setHomeButtonEnabled(false);
    actionBar.setDisplayShowHomeEnabled(false);
    actionBar.setDisplayUseLogoEnabled(false);
    actionBar.setDisplayShowTitleEnabled(false);
}

标题不显示。但启动应用时仍会出现。

我可以使用

this.requestWindowFeature(Window.FEATURE_NO_TITLE);

或者放

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

进入清单文件,因为我正在使用 actionBar。如果我这样做了,应用程序就会崩溃。

所以,我的问题是,有没有办法在应用程序启动时删除标题,因为我要在此处放置一个启动画面。谢谢。

------------

请注意:

感谢您的回答,但我明确表示我已经使用了actionBar.setDisplayShowTitleEnabled(false); 隐藏活动的标题栏。 (如第一张图所示) 但标题栏仍然出现在启动屏幕中(如第二张图所示)。

this.requestWindowFeature(Window.FEATURE_NO_TITLE);

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

会导致崩溃启动。这发生在我使用操作栏之后。

【问题讨论】:

  • 这个问题解决了吗?
  • 不,我还得保留那个标题栏。

标签: android android-titlebar


【解决方案1】:

我遇到了同样的问题。

就个人而言,我通过替换我的 Activity 继承来解决它 ActionBarActivity 到 Activity。

希望这会对某人有所帮助...

【讨论】:

  • 经过3小时的搜索,这是最好的答案,提前致谢!
  • 我同意 Amr SubZero
【解决方案2】:

在您的 onCreate() 方法中执行此操作。

//删除标题栏

this.requestWindowFeature(Window.FEATURE_NO_TITLE);

//移除通知栏

this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

this 指的是 Activity。

============

编辑:

如果您使用的是 ActionBarSherLock

final ActionBar bar = getSupportActionBar();
bar.setDisplayShowTitleEnabled(false);

【讨论】:

  • Window.FEATURE_BO_TILTE 在启动应用时会导致崩溃。我确实 setDisplayShowTitleEnabled(false) 隐藏了活动的标题栏,但在启动它时仍然没有隐藏它。
【解决方案3】:

它可能会崩溃,因为您在setContentView() 之后使用this.requestWindowFeature(Window.FEATURE_NO_TITLE);

onCreate()Activity 中使用 this.requestWindowFeature(Window.FEATURE_NO_TITLE);,在 setContentView(); 语句之前。

【讨论】:

  • 我知道它应该放在 setContentView() 之后,它会导致启动应用程序崩溃。
【解决方案4】:

可能是我在重复所有人所说的相同,但我只需要确认它。在清单文件中添加了如下主题,我将其添加为示例或任何其他方式。

<application .... android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:largeHeap="true"> .. </application>

只删除与隐藏标题栏相关的所有其他代码,只在它适用于我的清单文件中添加这个代码。我希望它也对你有用。

【讨论】:

  • 如果你使用developer.android.com提供的Tab Fragment例子,你会发现不能在manifest文件中添加这个,因为它会崩溃……不知道为什么跨度>
  • 你试试这个链接老兄。stackoverflow.com/questions/14403488/…
【解决方案5】:

Nick Butcher 和 Katherine Kuan 写了一篇关于更流畅的应用启动体验的精彩 Google Plus 帖子:

https://plus.google.com/+AndroidDevelopers/posts/VVpjo7KDx4H

但是,如果您希望与低于 API 14 的 Android 版本兼容(例如使用 AppCompat),我可以实现此目的的唯一方法是使用没有操作栏的主题使用单独的启动活动。

【讨论】:

    【解决方案6】:

    将您的splashscreen 设置为您的主要活动并将主题设置为

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

    创建并打算将您的初始屏幕移动到您的实际主要活动

    【讨论】:

      【解决方案7】:

      使用这个:

       ActionBar bar = getActionBar();    
       bar.hide();
      

          ActionBar bar = getActionBar();
          bar.setDisplayShowHomeEnabled(false);
          bar.setDisplayShowTitleEnabled(false);
      

      【讨论】:

        【解决方案8】:

        res/values/styles.xml

        找到...

        <!-- Application theme. -->
        <style name="AppTheme" parent="AppBaseTheme">
           <!-- All customizations that are NOT specific to a particular API-level can go here. -->
        </style>
        

        替换。

        <!-- Application theme. -->
        <style name="AppTheme" parent="AppBaseTheme">
            <item name="windowActionBar">false</item>
            <!-- All customizations that are NOT specific to a particular API-level can go here. -->
        </style>
        

        保存并编译...

        【讨论】:

          【解决方案9】:

          在想要全屏显示的活动中,在 setContentview 之前的 onCreate 方法中添加以下三行

          requestWindowFeature(Window.FEATURE_NO_TITLE); super.onCreate(savedInstanceState); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

          【讨论】:

            【解决方案10】:

            希望下面几行对你有所帮助

                getWindow().clearFlags(
                        WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); 
                requestWindowFeature(Window.FEATURE_NO_TITLE);
                getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                        WindowManager.LayoutParams.FLAG_FULLSCREEN);
            

            【讨论】:

              【解决方案11】:

              您可以简单地将全屏主题添加到清单文件中的该活动:

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

              【讨论】:

              • 还有什么可以代替这个吗?
              【解决方案12】:

              在您的 AndroidManifest.xml 应用程序标记中,将您的主题设置为全屏,如下面的代码所示。

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

              【讨论】:

              • 对不起,正如我提到的,这会导致应用程序崩溃,因为我使用操作栏。
              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2016-10-25
              • 2019-06-15
              • 2012-05-12
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2021-06-02
              相关资源
              最近更新 更多