Android Studio中主題樣式的使用方法詳解
1.主題
主題是包含一種或多種的格式化屬性集合,在程序中調(diào)用主題資源可改變窗體的樣式,對(duì)整個(gè)應(yīng)用或某個(gè)Activity存在全局性影響。
定義位置:res/values目錄下的styles.xml文件中
標(biāo)簽
<style></style>:定義主題
<item></item>:設(shè)置主題的樣式
示例(定義一個(gè)名為AppTheme的主題)
<style name='AppTheme' parent='Theme.AppCompat.Light.DarkActionBar'> <!-- Customize your theme here. --> <item name='colorPrimary'>@color/colorPrimary</item> <item name='colorPrimaryDark'>@color/colorPrimaryDark</item> <item name='colorAccent'>@color/colorAccent</item> </style>
主題的使用
(1)XML文件中:android:theme ='@style/AppTheme'
(2)Java代碼中:setTheme(R.style.AppTheme);
2、樣式
樣式:設(shè)置View的具體樣式。
定義位置:res/values目錄下的styles.xml文件中
標(biāo)簽
<style></style>:定義樣式
<item></item>:設(shè)置控件的樣式
在XML文件中調(diào)用方法
style='@style/textViewSytle'
3、自定義樣式
當(dāng)自定義的樣式或者主題不能滿(mǎn)足需求時(shí),還可以自定義樣式,自定義樣式和主題的步驟為:
1) 在res/values 目錄下創(chuàng)建一個(gè)樣式文件style.xml,添加一個(gè)<resources>根節(jié)點(diǎn)。
2) 在<resources>節(jié)點(diǎn)中添加一個(gè)<style>節(jié)點(diǎn),并在該節(jié)點(diǎn)中為樣式或主題定義一個(gè)唯一的名字,也可以選擇增加一個(gè)父類(lèi)屬性,表示當(dāng)前風(fēng)格繼承父類(lèi)的風(fēng)格。
3) 在<style>節(jié)點(diǎn)中聲明一個(gè)或多個(gè)<item>,每個(gè)<item>節(jié)點(diǎn)需要定義一個(gè)屬性名,并在元素內(nèi)部設(shè)置這個(gè)屬性的值。
總結(jié)
(1)樣式:
Android中的樣式和CSS樣式作用相似,都是用于為界面元素定義顯示風(fēng)格,它是一個(gè)包含一個(gè)或者多個(gè)View控件屬性的集合。樣式只能作用于單個(gè)View,如EditText、TextView,使用樣式可以指定多個(gè)控件具有的重復(fù)屬性統(tǒng)一抽取出來(lái)進(jìn)行編寫(xiě),避免書(shū)寫(xiě)大量重復(fù)代碼。
(2)主題:
主題也是包含一個(gè)或者多個(gè)View控件屬性的集合,但它作用范圍不同。主題是通過(guò)AndroidManifest.xml中的<application>和<activity>節(jié)點(diǎn)用在整個(gè)應(yīng)用或者某個(gè)Activity,它的影響是全局性的。如果一個(gè)應(yīng)用中使用了主題,同時(shí)應(yīng)用下的View也使用了樣式,那么當(dāng)主題和樣式中的屬性發(fā)生沖突時(shí),樣式的優(yōu)先級(jí)高于主題。
在Android系統(tǒng)中,自帶的樣式和主題都可以直接拿來(lái)用,例如設(shè)置主題可以通過(guò)android:theme='android:style/…'。
到此這篇關(guān)于Android Studio中主題樣式的使用的文章就介紹到這了,更多相關(guān)android studio 主題樣式內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向2. ajax post下載flask文件流以及中文文件名問(wèn)題3. IntelliJ IDEA刪除類(lèi)的方法步驟4. layui的checbox在Ajax局部刷新下的設(shè)置方法5. ajax實(shí)現(xiàn)頁(yè)面的局部加載6. idea導(dǎo)入maven項(xiàng)目的方法7. 刪除docker里建立容器的操作方法8. docker /var/lib/docker/aufs/mnt 目錄清理方法9. XML入門(mén)的常見(jiàn)問(wèn)題(四)10. jsp網(wǎng)頁(yè)實(shí)現(xiàn)貪吃蛇小游戲
