如何在调用setContentView()后以编程方式隐藏android 2.2中的标题栏?

时间:2013-07-18 05:27:37

标签: android titlebar

我在LANDSCAPE模式下全屏显示我的视图,就像youtube应用程序一样。 但有一个问题,我无法在我的应用程序中隐藏标题栏。 我没有使用sherlock动作栏。而不是我使用自定义标题栏。

  1. getWindow().setFlags(LayoutParams.FLAG_FULLSCREEN,LayoutParams.FLAG_FULLSCREEN)
  2. getWindow().clearFlags(LayoutParams.FLAG_FULLSCREEN)
  3. requestWindowFeature(Window.FEATURE_NO_TITLE)
  4. 我已经使用了所有这三个陈述。但它没有用。

7 个答案:

答案 0 :(得分:5)

或以第二种方式添加清单文件,然后无需在活动类中添加问题

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

或者你只能在横向上使用这个

@Override
public void onConfigurationChanged(Configuration newConfig) 
{
    super.onConfigurationChanged(newConfig);


    if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) //To fullscreen
    {
       requestWindowFeature(Window.FEATURE_NO_TITLE); 
           getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.your_layout_name);

    } 
    else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) 
    {
        // no need to fullscreen
         setContentView(R.layout.your_layout_name);

    }
}

答案 1 :(得分:2)

onCreate()之前的setContentView();

中使用这些内容

<强>像

 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.your_layout_name);
    }

答案 2 :(得分:2)

使用此:

this.requestWindowFeature(Window.FEATURE_NO_TITLE);
在setContentView()之前

答案 3 :(得分:1)

我用这个解决了我的问题:

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

super.onCreate(savedInstanceState);

答案 4 :(得分:1)

我还试图在Android 2.2上隐藏Action Bar,但这些解决方案都没有奏效。一切都以崩溃告终。我检查了DDMS LOg,它告诉我使用'Theme.AppCompat'。最后我通过更改android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"行来解决问题

进入android:theme="@style/Theme.AppCompat.NoActionBar"并且它有效,但界面很暗。

然后我尝试了android:theme="@style/Theme.AppCompat.Light.NoActionBar",最后得到了我想要的东西。

之后我在Developer Site I got This.

上搜索了“AppCompat”

所以我认为Android 2.2的解决方案是

<activity
    android:name=".MainActivity"
    android:theme="@style/Theme.AppCompat.Light.NoActionBar" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

抱歉我的英语很糟糕。

答案 5 :(得分:0)

您可以在manifest.xml中定义主题以进行全屏显示。

    <activity
        android:name=".MainActivity"
        android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

答案 6 :(得分:-2)

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

super.onCreate(savedInstanceState);

这实际上指的是Jorge Freitas,我不能投票给他,因为我没有足够的声誉&#34; ....