在AndroidManifest.xml檔案中,可以對每一個Activity設定android:theme
theme的設定 可以設定為系統自帶的格式,也可以自定義格式。
A: 系統自帶格式
@android:style/Theme.Black //背景黑色-有標題-非全屏
@android:style/Theme.Black.NoTitleBar //背景黑色-無標題-非全屏
@android:style/Theme.Black.NoTitleBar.Fullscreen //背景黑色-無標題-全屏顯示
@android:style/Theme.Dialog //對話方塊顯示
@android:style/Theme.InputMethod
@android:style/Theme.Light //背景白色-有標題-非全屏
@android:style/Theme.Light.NoTitleBar //背景白色-無標題-非全屏
@android:style/Theme.Light.NoTitleBar.Fullscreen //背景白色-無標題-全屏顯示
@android:style/Theme.Light.Panel
@android:style/Theme.Light.WallpaperSettings //背景透明
@android:style/Theme.NoDisplay
@android:style/Theme.Translucent.NoTitleBar.Fullscreen //半透明、無標題欄、全屏
@android:style/Theme.Wallpaper.NoTitleBar.Fullscreen
可以在單個Activity裡設定,也可以在applicaiton裡全域性設定。比如:
<activity android:screenOrientation="portrait" android:name=".ui.RegisterActivity" android:theme="@android:style/Theme.NoTitleBar"></activity>
B:也可以自定義
在activity里加入 android:theme="@style/MyTitleBar" 再在 style.xml里加入
<style name="MyTitleBar" parent="android:Theme"> <item name="android:windowTitleSize">50dip</item> <item name="android:windowTitleBackgroundStyle">@style/MyTitleBackground</item> <item name="android:windowTitleStyle">@style/WindowTitle</item> </style>
<!-- 自定義標題欄背景圖 -->
<style name="MyTitleBackground" parent="android:TextAppearance.WindowTitle">
<item name="android:background">@drawable/bg_topbar</item>
</style>
<style name="WindowTitle" parent="android:TextAppearance.WindowTitle">
<item name="android:singleLine">true</item>
</style>
這裡的parent是繼承於android:Theme,所以在下面的樣式裡,只能是window開頭的樣式才起作用,所有樣式請參考\sdk\docs\reference\android\R.attr.html,
也可以設定windowTitleBackgroundStyle 為@style/MyTitleBackground,這樣就可以在MyTitleBackground裡,設定背景圖啦,