2012-08-08 83 views
5

我希望在將設備轉爲風景時隱藏標題欄。我已經看到了XML選項可以隱藏標題欄,程序做它的下面的例子:設備朝向風景時隱藏標題欄/通知欄

//Remove title bar 
this.requestWindowFeature(Window.FEATURE_NO_TITLE); 
//Remove notification bar 
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 

,但我使用configChanges參數orientationscreenSize,所以我的活動沒有時再重新創建它定位於風景(我出於某些原因正在做這件事)。所以我不能使用上述方法,因爲這些調用需要在setContentView()之前完成。

那麼有什麼想法?謝謝。

+0

的Youtube應用程序在做它以某種方式......,我相信他們不會再創建活動(嘗試運行在畫像的視頻,然後轉向景觀。 )。 – 2012-08-08 02:44:52

+1

我不認爲你可以在調用setcontentview之後更改decorview。我建議您以全屏模式啓動視圖,並將您的標題欄作爲contentview的一部分。這種方式改變你的觀點,你可以隱藏它。 – Shubhayu 2012-08-08 02:59:46

+1

閱讀這個帖子http://stackoverflow.com/questions/4853505/android-how-to-disable-feature-no-title,建議定義你自己的標題,你可以隱藏和顯示,只要你喜歡。 – idiottiger 2012-08-08 03:59:49

回答

2

首先通過使用下面的代碼

當前配置檢查設備的方向,如用於確定要檢索的資源等,如可從資源配置對象:

getResources().getConfiguration().orientation 

然後執行與隱藏標題欄和通知欄相關的必要編碼。

+3

什麼是「必要的編碼?」這實際上是我的問題! – 2012-08-08 16:48:49

6

假設你已經在清單中定義configChangesActivity,那麼你可以實現你的問題,壓倒一切的onConfigurationChanged方法:

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 
    if(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { 
      getActionBar().hide(); 
    } else { 
      getActionBar().show(); 
    } 
} 

你將不得不如果使用的是支持庫使用getSupportActionBar()而不是getActionBar()

+0

在AppCompatActivity中,它沒有被解僱! – IgniteCoders 2016-11-16 04:38:49

-1

在你的「AndroidManifest.xml中」,在活動標籤,你可以在主題屬性指定「NoTitleBar」,這樣它總是隱藏標題:

<activity 
    android:name="com.my_package.MyActivity" 
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 
    android:configChanges="navigation|orientation|screenLayout|layoutDirection"> 
12

正在尋找一個答案,結束了在這裏,把碎片一起,在這裏,他們是:

if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { 
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 
} 
else { 
    getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 
} 
+0

謝謝,我的工作 – Tony 2015-10-15 05:46:18

+0

爲我工作2 – 2016-07-20 12:03:56