編輯:關於android開發
每家公司的app都有自己的統一的特色,這就涉及到theme和style,當然他們只不是僅僅為了這個特點存在,想activity的進入動畫等都能通過theme和style實現,簡單並且減少了代碼數,熟練使用theme and style也能做出很炫的效果。
主題是對整個應用中所有的Activity都起作用,或者對指定的Activity起作用 定義格式通常是改變窗口的外觀格式,標題,邊框等 。
為每個View重復地指定字體,顏色等屬性,無疑會增加大量的代碼,而且不利於我們後期項目的維護,所以就引入樣式(Style) 學過web的都知道,我們可以通過css的選擇器對html中的元素進行設置;而在UI組件中,我們可以通過style屬性來指定 樣式。
這就是源碼中theme和style所有的樣式了,這裡不介紹如何使用,只介紹其中屬性的意義,能實現什麼樣的效果,方便在你自己的app中實現自定義!
- @drawable/screen_background_selector_dark
- ?attr/colorBackground
- false
- @null
- false
- false
- false
- false
- @null
- false
- @style/WindowTitle
- 25dip
- @style/WindowTitleBackground
- @style/Animation.Activity
- stateUnspecified|adjustUnspecified
- false
- false
- false
- false
- false
- false
- @color/black
- @color/black
- @layout/screen_action_bar
- false
- false
以上這段代碼來自源碼中的themes.xml,都是window的屬性
windowBackground 背景 windowBackgroundFallback windowClipToOutline windowFrame Dialog 是否有邊框 windowNoTitle 是否有標題 windowFullscreen 是否為全屏 windowOverscan 是否要求窗體鋪滿整屏幕 windowIsFloating 是否浮在下層之上 windowContentOverlay 設置覆蓋內容背景 windowShowWallpaper 是否顯示壁紙 windowTitleStyle 標題欄Style windowTitleSize 窗體文字大小 windowTitleBackgroundStyle 標題欄背景style windowAnimationStyle 切換時的動畫樣式 windowSoftInputMode 在使用輸入法時窗體的適配 windowActionBar 是否打開ActionBar windowActionModeOverlay 是否覆蓋action windowCloseOnTouchOutside 是否再點擊外部可關閉 windowTranslucentStatus 是否半透明狀態 windowTranslucentNavigation 是否使用半透明導航 windowDrawsSystemBarBackgrounds 是否繪制系統導航欄背景 statusBarColor 狀態欄顏色 navigationBarColor 導航欄顏色 windowActionBarFullscreenDecorLayout 全屏時的布局 windowContentTransitions 內容是否轉換 windowActivityTransitions 活動時候轉換上面內容相信大家都用過,這裡簡單說一下windowAnimationStyle,主要負責activity的切換時的動畫,這裡有兩種形式,一種是給window設置動畫,一種是設置activity的動畫
- @anim/dialog_enter
- @anim/dialog_exit
- @anim/activity_open_enter
- @anim/activity_open_exit
- @anim/activity_close_enter
- @anim/activity_close_exit
根據需要設置,這裡說明一下設置activity的動畫
activityOpenEnterAnimation activityOpenExitAnimation activityCloseEnterAnimation activityCloseExitAnimation這裡以Activity A跳轉到Activity B為例,來說明一下以上四條,第一條A跳轉到B,B進入時的動畫;第二條A跳轉到B,A消失的動畫;第三條A返回到B時,進入A的動畫;第四條A返回到B,B消失的動畫,這裡需要說一下,如果你設定的動畫沒有按照你想想中那樣執行,這裡你需要查一下是不是兩個都設定動畫了,這也是我寫這篇文章的原因。
當然theme.xml還有很多代碼,各種各樣的主題都在這裡面,你不妨用到的時候再來看看,很多都是上面所介紹的那些屬性,這裡只看我們平時用的比較多的。
style的使用相對就很簡單了,可以實現代碼整潔,減少很多不必要的東西
這裡就是我們經常用到的button,統一的定義格式,代碼簡單,直接使用style屬性拿來應用即可,這裡不詳述
熟練使用theme 和style 會給你帶來很大的好處,存在即為合理,熟練使用手裡的工具提高效率,寫出高質量的代碼!
android:Spinner(下拉框)控件的使用,androidspinner 1.效果圖 2.創建頁面文件(main.xml)&n
WebView的簡單使用, activity_main.xml: <?xml version=1.0 encoding=utf-8?> <
Docker+Redis3集群環境搭建Docker宿主機新建3個容器,三個容器分別作為redis集群的三個節點,三個master,三個slave!實驗目標:client通
Android應用ViewDragHelper詳解及部分源碼淺析 1 背景 很久沒有更新博客了,忙裡偷閒產出一篇。寫這片文章主要是去年項目中的一個需求,