1. 程式人生 > >Android中Theme相關屬性

Android中Theme相關屬性

狀態列,導航欄

屬性 取值型別 描述
android:statusBarColor @color 設定系統狀態列顏色
android:navigationBarColor @color 設定系統導航欄的顏色
android:navigationBarDividerColor @color 在系統導航欄和應用程式內容之間顯示指定細線的顏色

Window attributes

屬性 取值型別 描述
android:windowBackground @drawable/@color 設定window視窗背景,一般用於優化Activity啟動白屏活
android:windowClipToOutline boolean 設定是否應將視窗內容剪裁為視窗背景的輪廓。
android:windowFrame @null 設定視窗是否有邊框
android:backgroundDimEnabled boolean 設定視窗背景模糊,true:迷糊
android:windowNoTitle boolean 設定視窗是否顯示Title
android:windowFullscreen boolean 設定視窗是否全屏
android:windowIsFloating boolean 設定視窗是否懸浮於Activity之上
android:windowContentOverlay @null 視窗內容的前景之上放置的Drawable資源
android:windowShowWallpaper boolean 是否是顯示牆紙
android:windowTitleStyle @style 設定視窗title樣式
android:windowTitleSize @dimen 設定視窗title size
android:windowTitleBackgroundStyle @style 設定視窗title背景樣式
android:windowAnimationStyle @style 設定Dialog 進入,退出動畫
android:windowActionBar boolean 設定activity是否顯ActionBar
android:windowActionModeOverlay boolean 為了能夠讓ActionMode能夠覆蓋我們的Toolbar,否則會出現ActionMode將Toolbar頂下去的樣子(重複出現)
android:windowCloseOnTouchOutside boolean 點選空白部分activity不消失
android:windowTranslucentStatus boolean 設定系統狀態列是否透明
android:windowTranslucentNavigation boolean 設定系統導航欄是否透明
android:windowDrawsSystemBarBackgrounds boolean 狀態列不覆蓋在ContentView上
android:windowContentTransitions boolean 允許使用設定轉場動畫(transitions)
android:windowActivityTransitions boolean 是否開啟過渡動畫
android:windowIsTranslucent boolean 設定視窗是否透明
android:windowDisablePreview boolean 禁用預設啟動視窗
android:windowNoDisplay boolean 當前啟動的視窗不可見
windowEnterTransition @anim 引用 XML中的動畫資源,定義所需的Transition,用於將Views移動到初始Window的內容Scene中。
android:windowExitTransition @anim 引用XML中的動畫資源,定義所需的Transition,用於在啟動新Activity時將Views移出Window的內容Scene。

軟鍵盤

屬性 描述
android:windowSoftInputMode 設定軟鍵盤顯示模式

軟鍵盤模式有以下幾種:

stateUnspecified

未指定狀態,軟體預設採用的就是這種互動方式,系統會根據介面採取相應的軟鍵盤的顯示模式。

stateUnchanged

狀態不改變,當前介面的軟鍵盤狀態,取決於上一個介面的軟鍵盤狀態。

stateHidden

設定軟鍵盤隱藏。

stateAlwaysHidden

該屬性也可以讓軟鍵盤隱藏。

stateVisible

設定為這個屬性,可以將軟鍵盤召喚出來,即使在介面上沒有輸入框的情況下也可以強制召喚出來。

stateAlwaysVisible

這個屬性也是可以將鍵盤召喚出來,但是與stateVisible屬性有小小的不同之處,stateAlwaysVisible設定軟鍵盤一直顯示,離開當前介面在回到當前介面是軟鍵盤仍然是顯示的,不像stateVisible狀態,離開當前潔面後就隱藏。

adjustUnspecified

設定軟鍵盤與軟體的顯示內容之間的顯示關係,系統會根據介面選擇不同的模式。

adjustResize

這個屬性表示Activity的主視窗總是會被調整大小,從而保證軟鍵盤顯示空間。

adjustPan

如果設定為這個屬性,那麼Activity的螢幕大小並不會調整來保證軟鍵盤的空間,而是採取了另外一種策略,系統會通過佈局的移動,來保證使用者要進行輸入的輸入框肯定在使用者的失業範圍裡面,從而讓使用者可以看到自己輸入的內容。