android Theme & Style

来源:互联网 发布:淘宝添加客服怎么登陆 编辑:程序博客网 时间:2024/04/29 05:01

首先,什么是Style,什么是Theme?

  • Style:是一个包含一种或者多种格式化属性的集合,我们可以将其用为一个单位用在布局XML单个元素当中。比如,我们可以定义一种风格来定义文本的字号大小和颜色,然后将其用在View元素的一个特定的实例,用于单个控件中
  • Theme:是一个包含一种或者多种格式化属性的集合,我们可以将其为一个单位用在应用中所有的Activity当中或者应用中的某个Activity当 中。比如,我们可以定义一个Theme,它为window frame和panel 的前景和背景定义了一组颜色,并为菜单定义可文字的大小和颜色属性,可以将这个Theme应用在你程序当中所有的Activity里,多用于application,activity中

其次,定义Styles和Themes资源的XML文档的结构

对每一个Styles和Themes,给<style>元素增加一个全局唯一的名字,也可以选择增加一个父类属性。在后边我们可以用这个名字来应用风格,而父类属性标识了当前风格是继承于哪个风格。在<style>元素内部,申明一个或者多个<item>,每一个<item>定义了一个名字属性,并且在元素内部定义了这个风格的值。

styles.xml
<resources>
<style name=”CustomStyles″>
<item name=”android:textSize”>18sp</item>
<item name=”android:textColor”>#EC9237</item>
</style>
<resources>
使用style
<TextView
style=”@styles/CustomStyles
....
/>

Themes.xml
<resources>
<style name=”CustomTheme” parent=”@android:style/Theme.Light.NoTitleBar.Fullscreen”>
<!--<item name=”android:windowNoTitle”>true</item>-->
<item name=”android:textSize”>14sp</item>
<item name=”android:textColor”>#FFFF0000</item>

</style>
</resource>
使用Theme
<application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@themes/CustomTheme"
         >
        <activity android:name=".ActivityA"
        ....
        android:theme="@themes/CustomTheme"
        />
<activity android:name=".ActivityB"
            android:theme="@android:style/Theme.Dialog"/>
</application>
系统提供的parent有
Android-Theme

原创粉丝点击