步步爲營_Android開發課[37]_用戶界面之theme和style

Focus on technology, enjoy life!—— QQ:804212028
瀏覽鏈接:http://blog.csdn.net/y18334702058/article/details/44624305


  • 主題:用戶界面之theme和style
    -theme和style很容易混淆,theme樣式是用於添加到application或者activity中去的。而style樣式是用於添加到view控件中去的。

樣式的定義:

找到項目文件夾:res/valus/styles,styles.xml這個文件就是專門用來定義樣式的一個文件夾。沒有的話,自己創建一個。
代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="AppTheme" parent="AppBaseTheme">
        <item name="android:layout_width">fill_parent
        <item name="android:layout_height">wrap_content
        <item name="android:textColor">00FF00
    </style>
</resources>

樣式的繼承:

開發者都應該知道的一個樣式可以繼承平臺原有的樣式,也可以繼承自定義的樣式。繼承平臺原有的樣式如下

<style name="GreenText" parent="@android:style/TextAppearance">
    <item name="android:textColor">00FF00
</style>

繼承自定義樣式只要在style的name屬性上加一個前綴名就可以了。前綴名是自定義的那個style的名稱,例如Red樣式繼承CodeFont的樣式可以這樣寫:

<style name="CodeFont.Red">
    <item name="android:textColor">FF0000
</style>

這種繼承方式還可以不斷繼承下去,Big再繼承他們的樣式:

<style name="CodeFont.Red.Big">
    <item name="android:textSize">30sp
</style>

Style 和 Theme的使用:

//在控件裏使用styles樣式
<TextView
    style="@style/CodeFont
    android:text="@string/hello"
 />
//在application中使用themes樣式
<application android:theme="@style/MyTheme">
//在activity中使用themes樣式
<activity android:theme="@style/MyTheme">

什麼是Style,什麼是Theme?

Style:是一個包含一種或者多種格式化屬性的集合,我們可以將其用爲一個單位用在佈局XML單個元素當中。比如,我們可以定義一種風格來定義文本的字號大小和顏色,然後將其用在View元素的一個特定的實例。

Theme:是一個包含一種或者多種格式化屬性的集合,我們可以將其爲一個單位用在應用中所有的Activity當中(也就是application中)或者應用在某個Activity當 中。

來看看他們的定義:

<?xml version="1.0" encoding="utf-8"?>   
<resources>       
<!-- 定義style -->
<style name="myTextStyle" mce_bogus="1">
    <item name="android:textSize">20px</item>
    <item name="android:textColor">EC9237</item>
</style>      
<style name="myTextStyle2" mce_bogus="1">  
    <item name="android:textSize">14px</item>
    <item name="android:textColor">FF7F7C</item>
</style>       
<!-- 定義theme -->     
<style name="myTheme" mce_bogus="1">
    <item name="android:windowNoTitle">true</item>
    <item name="android:textSize">14px</item>
    <item name="android:textColor">FFFF7F7C</item>
</style>  
</resources> 

從上面的例子可以看出,定義上style與定義theme基本相同,只是使用的地方不同,還有就是在一些標籤的使用上: style 作用於view,theme作用於application或者Activity。

Focus on technology, enjoy life!—— QQ:804212028
瀏覽鏈接:http://blog.csdn.net/y18334702058/article/details/44624305

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章