在大部分狀況下,咱們開發或使用的App都不須要Activity中本來的標題,都有本身獨特或個性的標題欄,甚至有些App是全屏的。下面就來探究一下都有哪幾種方法能夠實現隱藏標題或全屏。html
1.修改Application Manifest.xmljava
Application Manifest.xml是每個Android項目必不可少的基礎性文件,它能夠定義應用程序及其組件和需求的結構和元數據。總之,應用程序的基礎性需求及結構是它來定義的。在Android開發API指南中有詳細解釋,該文件該詳細瞭解一下http://developer.android.com/intl/zh-cn/guide/topics/manifest/manifest-intro.html。android
說了Manifest文件的重要性,下面回到正題。在該文件中最重要的一個節點application節點,表明整個應用程序,修改該節點中的Theme屬性,就能夠實現,代碼以下:web
android:theme="@android:style/Theme.NoTitleBar//隱藏標題欄 android:theme="@android:style/Theme.NoTitleBar.Fullscreen//隱藏標題欄並全屏
這樣修改的話,整個應用程序中每一個Activity的標題都沒有或者全屏了,但若是僅僅只是想要單個的Activity窗口隱藏標題或全屏,那該怎麼實現呢?其實很簡單,不修改application中的Theme屬性,而是修改對應activity節點中的Theme屬性,代碼都是同樣的,僅僅位置改變而已。app
2.在Java類中添加代碼ide
在每一個Activity建立的方法中,必須調用setContentView方法來加載layout佈局文件,從而顯示Activity的界面佈局。所以,該方法就是在加載佈局文件以前先將標題隱藏或全屏。其中,隱藏標題欄使用的方法是requestWindowFeature,該方法是設置窗體的擴展屬性,主要是標題欄屬性,能夠自定義標題欄,固然也能夠隱藏標題欄,隱藏須要這樣設置:函數
requestWindowFeature (Window. FEATURE_NO_TITLE );//隱藏標題欄
另外一個設置全屏使用getWindow ().setFlags,來看代碼:佈局
getWindow().setFlags (WindowManager. LayoutParams.FLAG_FULLSCREEN , WindowManager .LayoutParams. FLAG_FULLSCREEN);
這樣就完成了,不過仍是提醒下:這兩個函數必須在setContentView以前添加,不然佈局加載完成以後再添加,程序就會崩潰。ui
3.添加無標題或者全屏主題spa
在res/values/styles.xml中添加無標題或者全屏或兩種兼有的主題樣式,即style節點。以下:
<!-- 無標題樣式主題 --> <style name="notitle"> <item name= "android:windowNoTitle" >true </item> </style > <!-- 全屏樣式主題 --> <style name="fullscreen"> <item name= "android:windowFullscreen" >true </item> </style > <!-- 無標題且全屏樣式主題 --> <style name="notitle_fullscreen"> <item name= "android:windowNoTitle" >true </item> <item name= "android:windowFullscreen" >true </item> </style >
而後在Manifest文件的application節點或者activity節點修改Theme屬性,以下
android:theme ="@style/notitle_fullscreen"//修改對應的style name就是對應的主題
總結
經過這三種方式均可以實現標題欄隱藏或者全屏,第一種比較簡單,也是比較好的實現方法;第二種方法相對來講不是很好的實現方式;自我感受第三種方式更好一些,雖然更麻煩一點,但更有利於代碼的維護和擴展。通常狀況下,推薦使用第一種方式。