Android應用中去掉標題欄方法總結(Eclipse+Android Studio)
Eclipse
1.在程式程式碼中實現
需要注意的是:
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
這段程式碼一定要放在setContentView();方法前面,否則不會生效!這個方法只會在引用過的佈局才會生效,比如這個activity_main引用了,就不會再出現標題,其他的則不會生效..所以 雖然靈活,但是侷限…
2.在清單文(Androidmanifest.xml)裡面配置
android:theme=”@android:style/Theme.Light.NoTitleBar”
使用此種方法這樣可以將整個應用設定成無標題欄了。比較常用。
3.在style.xml檔案裡自定義
style.xml
AndroidManifest.xml
總結:
1. 第一種方式…太侷限性! 在某一個activity中引用,就只在此activity中起作用
2. 縱觀123,還是23方式比較靠譜點,不過相對於方式三的繁瑣.
3. 個人還是推崇方式二,或許是平時習慣…
Studio
之前在eclipse上進行開發的時候,要去除Activity的的預設標題欄,我習慣使用的方法是上面的第一種方式,比較快,但是問題來了,在Studio中新構建的專案依舊採用此方法不適用!
如果有注意的話,這裡的Activity類繼承的是AppCompatActivity,這個是屬於support v7附加包的類。而eclipse使用的則是v4包,繼承的是Activity類。兩者之間有什麼不一樣的地方,可以百度一下,這裡不多說。只提供解決辦法解決辦法:
1.修改父類Acticity,將AppComPatActiviry替換為Activiry,然後繼續採用Eclipse中去標題的方法
2.修改AndroidManiFest.xml檔案,將< activity>中的Theme屬性替換如下:
android:theme="@style /Theme.AppCompat.NoActionBar">
3.更換requestWindowFeature(Window.FEATURE_NO_TITLE);程式碼為:
getSupportActionBar().hide();
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
總結: 注意的是儘管第一種與我們的習慣很接近(作為eclipse使用者而言),但這種方法卻是一種將v7捨棄的方法,作為技術越來越新的學科,這種辦法是不提倡的。因此,建議使用第二種或者第三種辦法