1. 程式人生 > >Android應用中去掉標題欄方法總結(Eclipse+Android Studio)

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捨棄的方法,作為技術越來越新的學科,這種辦法是不提倡的。因此,建議使用第二種或者第三種辦法