activity theme parent 屬性淺析

在AndroidManifest.xml文件中,能夠對每個Activity設置android:theme

theme的設置 能夠設置爲系統自帶的格式,也能夠自定義格式。html

 

A: 系統自帶格式android

   

一、android:theme="@android:style/Theme"windows

默認狀態,即若是theme這裏不填任何屬性的時候,默認爲Themeapp

二、android:theme="@android:style/Theme.NoDisplay"ui

任何都不顯示。比較適用於只是運行了activity,但未顯示任何東西xml

三、android:theme="@android:style/Theme.NoTitleBar「htm

背景主題的沒有標題欄的樣式,默認若是沒有設置的話,顯示黑背景繼承

四、android:theme="@android:style/Theme.NoTitleBar.Fullscreen"ip

背景主題的沒有標題欄且全屏的樣式,默認爲黑背景input

五、android:theme="@android:style/Theme.Black"

默認狀態下黑背景

六、android:theme="@android:style/Theme.Black.NoTitleBar"

黑背景主題的沒有標題欄的樣式

七、android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"

黑背景主題的沒有標題欄且全屏的樣式

八、android:theme="@android:style/Theme.Light"

默認狀態下亮背景,與上述黑背景Theme.Black相反

九、android:theme="@android:style/Theme.Light.NoTitleBar"

亮背景主題的沒有標題欄的樣式,與Theme.Black.NoTitleBar相反

十、android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen"

亮背景主題的沒有標題欄且全屏顯示的樣式,與Theme.Black.NoTitleBa.Fullscreenr相反

十一、android:theme="@android:style/Theme.Dialog"

對話框樣式 將整個activity變成對話框樣式出現

十二、android:theme="@android:style/Theme.InputMethod"

Window animations that are applied to input method overlay windows

1三、android:theme="@android:style/Theme.Panel"

刪除掉全部多餘的窗口裝飾,在一個空的矩形框中填充內容,做用範圍至關於把dialog中的全部元素所有去掉,只是一個空的矩形框,且此爲默認的樣式

1四、android:theme="@android:style/Theme.Light.Panel"

刪除掉全部多餘的窗口裝飾,在一個空的矩形框中填充內容,做用範圍至關於把dialog中的全部元素所有去掉,只是一個空的矩形框,且默認是light的樣式

1五、android:theme="@android:style/Theme.Wallpaper"

使用牆紙作主題,默認狀態。

1六、android:theme="@android:style/Theme.WallpaperSettings"

使用牆紙作主題,默認是使用將上一個界面調暗以後做爲主題

1七、android:theme="@android:style/Theme.Light.WallpaperSettings"

使用牆紙作主題,默認Light狀態

1八、android:theme="@android:style/Theme.Wallpaper.NoTitleBar"

使用牆紙作主題,且沒有標題欄

1九、android:theme="@android:style/Theme.Wallpaper.NoTitleBar.Fullscreen"

使用牆紙作主題,且沒有標題欄,且全屏顯示

20、android:theme="@android:style/Theme.Translucent"

半透明狀態下的背景,將運行此activity以前的屏幕做爲半透明狀態做爲此activity運行時的樣式。

2一、android:theme="@android:style/Theme.Translucent.NoTitleBar"

半透明狀態下沒有標題欄的背景,將運行此activity以前的屏幕做爲半透明狀態做爲此activity運行時的樣式。

2二、android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"

半透明狀態下沒有標題欄且全屏的背景,將運行此activity以前的屏幕做爲半透明狀態做爲此activity運行時的樣式

能夠在單個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裏,設置背景圖啦,

相關文章
相關標籤/搜索