【问题标题】:How to hide the title bar for of android app?如何隐藏android应用程序的标题栏?
【发布时间】:2014-12-19 17:08:28
【问题描述】:

有问题
我想从活动中隐藏标题栏(不编辑 xml),但总是出错

我尝试在几篇文章中使用建议:
Android title bar removal
How to hide app title in android
Make full screen activity

但这并没有使我达到预期的结果。我做错了什么?

IMG:http://i57.tinypic.com/wj6ud4.png

12-19 14:09:21.679      848-848/com.example.switchoff.test_app E/AndroidRuntime﹕ FATAL EXCEPTION: main
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.switchoff.test_app/com.example.switchoff.test_app.MainActivity}: java.lang.NullPointerException
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
            at android.app.ActivityThread.access$600(ActivityThread.java:130)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:4745)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.NullPointerException
            at android.support.v7.internal.app.WindowDecorActionBar.getDecorToolbar(WindowDecorActionBar.java:248)
            at android.support.v7.internal.app.WindowDecorActionBar.init(WindowDecorActionBar.java:201)
            at android.support.v7.internal.app.WindowDecorActionBar.<init>(WindowDecorActionBar.java:176)
            at android.support.v7.app.ActionBarActivityDelegateBase.createSupportActionBar(ActionBarActivityDelegateBase.java:156)
            at android.support.v7.app.ActionBarActivityDelegate.getSupportActionBar(ActionBarActivityDelegate.java:123)
            at android.support.v7.app.ActionBarActivityDelegateBase.onTitleChanged(ActionBarActivityDelegateBase.java:467)
            at android.support.v7.app.ActionBarActivity.onTitleChanged(ActionBarActivity.java:176)
            at android.app.Activity.onPostCreate(Activity.java:1000)
            at android.app.Instrumentation.callActivityOnPostCreate(Instrumentation.java:1142)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2042)
                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
                at android.app.ActivityThread.access$600(ActivityThread.java:130)
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
                at android.os.Handler.dispatchMessage(Handler.java:99)
                at android.os.Looper.loop(Looper.java:137)
                at android.app.ActivityThread.main(ActivityThread.java:4745)
                at java.lang.reflect.Method.invokeNative(Native Method)
                at java.lang.reflect.Method.invoke(Method.java:511)
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
                at dalvik.system.NativeStart.main(Native Method)

【问题讨论】:

    标签: android android-activity


    【解决方案1】:

    在活动中使用this.requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.yourlayout); 之前 或

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

    或对于ACTIONBAR 使用getActionBar().hide();

    【讨论】:

      【解决方案2】:

      你不需要添加:

      requestWindowFeature(Window.FEATURE_NO_TITLE);
      

      我刚刚添加了:

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

      然后在我的 style.xml 中,我有以下内容:

      ....
      <style name="AppTheme" parent="android:Theme.Light">
          <!-- Customize your theme here. -->
          <item name="android:windowNoTitle">true</item>
          <item name="android:windowFullscreen">true</item>
          <item name="android:screenOrientation">portrait</item>
          <item name="android:windowBackground">@drawable/logo</item>
      </style>
      

      这对我有用,希望这对你也有帮助......

      【讨论】:

        【解决方案3】:

        你可以使用

        getActionBar().hide();

        getSupportActionBar().hide();

        【讨论】:

        • 非常感谢!非常简单的方法!
        【解决方案4】:
        ActionBar actionBar = getActionBar();
        actionBar.hide()
        

        【讨论】:

        • 此答案因其长度和内容而被标记为低质量。请添加简单的英文解释。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-08
        • 2021-03-22
        相关资源
        最近更新 更多