Android Styles & Themes——Theme
系統(tǒng)
1915 0
http://www.moandroid.com/?p=918
定義Theme的一個(gè)例子
<?xml version=”1.0″ encoding=”UTF-8″?>
<resources>
<style name=”NewTheme” parent=”android:Theme.Black”>
<item name=”android:windowNoTitle”>true</item>
<item name=”android:textSize”>14sp</item>
<item name=”android:textColor”>#FFFF0000</item>
</style>
</resources>
以上資源的定義,相信大家一看就明白,在這里需要強(qiáng)調(diào)的是:有些資源定義中使用了@符號(hào)和?符號(hào)來(lái)引用資源。,對(duì)這2個(gè)符號(hào)的作用解釋如下:
@ 表明我們應(yīng)用的資源是前邊定義過(guò)的(或者在前一個(gè)項(xiàng)目中或者在Android 框架中)。
?表明我們引用的資源的值在當(dāng)前的主題當(dāng)中定義過(guò)。
這些技巧只能用在XML資源當(dāng)中
在程序中使用Theme的方法
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTheme(R.style.NewTheme);
setContentView(R.layout.main);
}
這里需要注意的是,對(duì)于theme資源的引用,資源ID不是文件名(theme.xml),而是資源名(NewTheme)。
在AndroidManifest.xml中應(yīng)用Theme
為了在當(dāng)前所有的Activity當(dāng)中使用Theme,可以打開AndroidManifest.xml 文件,編輯<application>標(biāo)簽,讓其包含android:theme屬性,值是一個(gè)主題的名字,例如:<application android:theme=”@style/NewTheme”>。
如果只是想讓程序當(dāng)中的某個(gè)Activity擁有這個(gè)Theme,那么可以修改<activity>標(biāo)簽。Android中提供了幾種內(nèi)置的資源,有好幾種Theme你可以切換而不用自己寫。比如可以用對(duì)話框Theme來(lái)讓你的Activity看起來(lái)像一個(gè)對(duì)話框。在manifest中定義,例如:<activity android:theme=”@android:style/Theme.Dialog”>
如果喜歡一個(gè)Theme,但是想做一些輕微的改變,只需要將這個(gè)Theme添加為parent。Android SDK為我們提供了很多現(xiàn)成的Theme,部分列舉如下:
比如:我們修改Theme.Dialog Theme,繼承Theme.Dialog來(lái)生成一個(gè)新的Theme。<style parent=”@android:style/Theme.Dialog”>
繼承了Theme.Dialog后,我們可以按照我們的要求來(lái)調(diào)整Theme。我們可以修改在Theme.Dialog中定義的每個(gè)item元素的值,然后我們 在Android Manifest 文件中使用NewDialogTheme而不是 Theme.Dialog。
Android Styles & Themes——Theme
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元