Android 的style和theme

例子

<resources>
<style name="CodeFont" parent="@android:style/TextAppearance.Medium">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">#00FF00</item>
<item name="android:typeface">monospace</item>
</style>
</resources>

<TextView
style="@style/CodeFont"
android:text="@string/hello" />

style作用

  • 設(shè)計(jì)與內(nèi)容分開
  • 可繼承
  • 便于統(tǒng)一風(fēng)格

書寫方式

  • 關(guān)于繼承系統(tǒng)的書寫
<style name="CodeFont" parent="@android:style/TextAppearance.Medium">
...
</style>
  • 關(guān)于繼承自定義的書寫
<style name="CodeFont1" parent="CodeFont">
...
</style>

  • 關(guān)于繼承系統(tǒng)theme的書寫
<style name="LightThemeSelector" parent="android:Theme.Holo.Light">
...
</style>
<style name="LightThemeSelector" parent="@android:style/Theme.Holo.Light">
...
</style>
  • 關(guān)于繼承自定義theme的書寫
<style name="LightThemeSelector" parent="@style/Theme.AppCompat">
...
</style>

style與theme的區(qū)別

Theme是針對(duì)窗體級(jí)別的殃饿,改變窗體樣式;
Style是針對(duì)窗體元素級(jí)別的威彰,改變指定控件或者Layout的樣式

簡(jiǎn)單的說就是Theme里面有包含了好多好多Style

android:theme與app:popupTheme

  • android:theme設(shè)置是View和子View的主題(API20+)
  • app:popupTheme設(shè)置的是該view節(jié)點(diǎn)下的view的theme(通俗的說就是類似css選擇器的作用)

常用于Toolbar下

比如

<android.support.v7.widget.Toolbar  
    android:id="@+id/toolbar"  
    android:layout_width="match_parent"  
    android:layout_height="?attr/actionBarSize"  
    android:background="?attr/colorPrimary"  
    android:theme="@style/AppTheme.AppBarOverlay"  
    app:popupTheme="@style/AppTheme.PopupOverlay"/>  

android:theme="@style/AppTheme.AppBarOverlay設(shè)置了Toolbar的主題
app:popupTheme="@style/AppTheme.PopupOverlay"設(shè)置了Toolbar節(jié)點(diǎn)下的view的主題

默認(rèn)情況下我們使用theme為android:Theme.Holo.Light.DarkActionBar那么ActionBar文字是白的棒坏,ActionBar Overflow彈出的是黑底白字锤岸,如果需求是白底黑字那么只要設(shè)置toolbar的app:popupTheme="ThemeOverlay.AppCompat.Light"


常用的自帶Theme

android:theme=”@android:style/Theme.Dialog” : Activity顯示為對(duì)話框模式
android:theme=”@android:style/Theme.NoTitleBar” : 不顯示應(yīng)用程序標(biāo)題欄 
android:theme=”@android:style/Theme.NoTitleBar.Fullscreen” : 不顯示應(yīng)用程序標(biāo)題欄席怪,并全屏 
android:theme=”Theme.Light “: 背景為白色 
android:theme=”Theme.Light.NoTitleBar” : 白色背景并無標(biāo)題欄 
android:theme=”Theme.Light.NoTitleBar.Fullscreen” : 白色背景,無標(biāo)題欄冤馏,全屏 
android:theme=”Theme.Black” : 背景黑色 
android:theme=”Theme.Black.NoTitleBar” : 黑色背景并無標(biāo)題欄 
android:theme=”Theme.Black.NoTitleBar.Fullscreen” : 黑色背景监署,無標(biāo)題欄颤专,全屏 
android:theme=”Theme.Wallpaper” : 用系統(tǒng)桌面為應(yīng)用程序背景 
android:theme=”Theme.Wallpaper.NoTitleBar” : 用系統(tǒng)桌面為應(yīng)用程序背景,且無標(biāo)題欄 
android:theme=”Theme.Wallpaper.NoTitleBar.Fullscreen” : 用系統(tǒng)桌面為應(yīng)用程序背景钠乏,無標(biāo)題欄栖秕,全屏 
android:theme=”Theme.Translucent : 透明背景 
android:theme=”Theme.Translucent.NoTitleBar” : 透明背景并無標(biāo)題 
android:theme=”Theme.Translucent.NoTitleBar.Fullscreen” : 透明背景并無標(biāo)題,全屏 
android:theme=”Theme.Panel “: 面板風(fēng)格顯示 
android:theme=”Theme.Light.Panel” : 平板風(fēng)格顯示

常用的Theme的屬性

名稱 作用
android:windowIsTranslucent 設(shè)置透明屬性(防止啟動(dòng)時(shí)候的閃屏)
android:windowBackground 設(shè)置背景圖片
android:windowAnimationStyle Activity進(jìn)入退出動(dòng)畫
android:windowNoTitle 不顯示標(biāo)題欄
android:textColor 默認(rèn)字體顏色
android:windowFullscreen 是否全屏
android:windowIsFloating 是否浮現(xiàn)在activity之上
android:backgroundDimEnabled 背景是否模糊顯示

常用的style元素屬性

非官方

附上一張官方的

官方

裝載自關(guān)于Android的style和theme

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末晓避,一起剝皮案震驚了整個(gè)濱河市簇捍,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌俏拱,老刑警劉巖暑塑,帶你破解...
    沈念sama閱讀 212,816評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異锅必,居然都是意外死亡事格,警方通過查閱死者的電腦和手機(jī)惕艳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來驹愚,“玉大人远搪,你說我怎么就攤上這事》贽啵” “怎么了谁鳍?”我有些...
    開封第一講書人閱讀 158,300評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)劫瞳。 經(jīng)常有香客問我倘潜,道長(zhǎng),這世上最難降的妖魔是什么志于? 我笑而不...
    開封第一講書人閱讀 56,780評(píng)論 1 285
  • 正文 為了忘掉前任涮因,我火速辦了婚禮,結(jié)果婚禮上恨憎,老公的妹妹穿的比我還像新娘蕊退。我一直安慰自己,他們只是感情好憔恳,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評(píng)論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著净蚤,像睡著了一般钥组。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上今瀑,一...
    開封第一講書人閱讀 50,084評(píng)論 1 291
  • 那天程梦,我揣著相機(jī)與錄音,去河邊找鬼橘荠。 笑死屿附,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的哥童。 我是一名探鬼主播挺份,決...
    沈念sama閱讀 39,151評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼贮懈!你這毒婦竟也來了匀泊?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,912評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤朵你,失蹤者是張志新(化名)和其女友劉穎各聘,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體抡医,經(jīng)...
    沈念sama閱讀 44,355評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡躲因,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片大脉。...
    茶點(diǎn)故事閱讀 38,809評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡搁嗓,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出箱靴,到底是詐尸還是另有隱情腺逛,我是刑警寧澤,帶...
    沈念sama閱讀 34,504評(píng)論 4 334
  • 正文 年R本政府宣布衡怀,位于F島的核電站棍矛,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏抛杨。R本人自食惡果不足惜够委,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望怖现。 院中可真熱鬧茁帽,春花似錦、人聲如沸屈嗤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽饶号。三九已至铁追,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間茫船,已是汗流浹背琅束。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留算谈,地道東北人涩禀。 一個(gè)月前我還...
    沈念sama閱讀 46,628評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像然眼,于是被迫代替她去往敵國(guó)和親艾船。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,867評(píng)論 25 707
  • 1.Style和Theme Android的style分為兩個(gè)方面: 1.Theme 是針對(duì)窗體級(jí)別的罪治,改變窗體樣...
    小飛豬閱讀 2,519評(píng)論 0 0
  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程丽声,因...
    小菜c閱讀 6,376評(píng)論 0 17
  • 轉(zhuǎn)載請(qǐng)說明出處:Android開發(fā)細(xì)節(jié)--查漏補(bǔ)缺(一):UI篇 引言:一開始,先和大家可能從最開始接觸Andro...
    androidjp閱讀 1,117評(píng)論 0 9
  • 頭頂藍(lán)天 腳踩大地 八百米跳下 絲毫無懼 一身傲骨 渾然正氣 舍身為國(guó) 青春散盡 這個(gè)英雄 誰可代替
    墨潑閱讀 496評(píng)論 0 1