Android 風(fēng)格和主題
風(fēng)格:style?
是對(duì)于單個(gè)view的一系列的屬性的的集合,這些屬性包含了字體顏色,字體大小,背景顏色等等。這些定義的屬性也可以定義在layout文件中,但是將這些屬性提取出來(lái)可以方便開(kāi)發(fā)者在多個(gè)不同的控件中管理。
主題:theme
主題也是一系列的屬性,但是這些屬性是針對(duì)于一整個(gè)App的,包括Activity View一些一些沒(méi)有View的元素,比如Window的背景和status bar。
當(dāng)對(duì)于整個(gè)應(yīng)用使用了主題時(shí),所有的View Activity都會(huì)去應(yīng)用他們所支持的屬性,

主題VS風(fēng)格
相同點(diǎn):
他們都定義在res/values/styles.xml中
他們都是鍵值對(duì)
構(gòu)建和使用style
注意點(diǎn):
如果當(dāng)前的View不能使用這個(gè)屬性,當(dāng)前的View會(huì)直接忽視
當(dāng)前的style會(huì)直接應(yīng)用到當(dāng)前的View上,而不會(huì)應(yīng)用不能到子view上。如果想讓子View也產(chǎn)生這樣的效果,最好使用theme。
繼承和擴(kuò)展樣式
默認(rèn)的行為應(yīng)該是最好都繼承一個(gè)樣式,如果是從Android框架中繼承樣式,使用@android:style。
但是我們最好直接使用兼容的樣式,兼容的樣式不需要使用@android:style:
使用點(diǎn)分標(biāo)記法擴(kuò)展自己的樣式:
參考資源:
https://developer.android.com/guide/topics/ui/look-and-feel/themes
標(biāo)簽: