主题与风格 第2节 风格-style

第2节 风格-style

style指的是某一类具体的控件的风格,例如TextView的风格、Button的风格。

指定控件的style,就是指定诸如它的字体大小、字体颜色、字体种类等元素,

这好比一本书,书的一级标题要使用一号字体(字体要比别的字体大),二级标题要使用二号字体,以此类推。每一级标题使用的文字,就对应的一种style。以后在写书的时候,每使用某级的标题,就自然将文字显示成了这一级应该的字体大小。

2.1 style的定义

  1. res\values目录下,新建一个styles.xml文件;
  2. 在新建的文件中,使用style标签,在标签中为定义的主题取个名字,例如name="BtnStyle"
  3. 在style标签内部,使用item标签,为需要定制的属性设置新的值;

2.2 style的继承

style也可以从已有的style继承而来。
style有两种继承方式,一种是显式继承,一种是隐式继承。

2.2.1 显示继承

  1. 继承已有的style时,使用parent=属性,
  2. 在子style中,定义需要扩展或者需要覆盖的属性,

2.2.2 隐式继承

  1. 继承已有的style,给新style以.为分隔符取名,例如"BtnStyle.ExBtnStyle,被继承的style名称要放在前面;
  2. 子style中,定义需要扩展或者需要覆盖的属性,

2.3 style的使用

style有两种使用方式。

  1. 直接针对具体的控件使用。
    通过控件的style属性设置,

  2. 提供给theme使用。
    相关的内容请参考主题相关的章节。

2.4 style可用的各种属性

style可以设置的属性很多,不同的控件有不同的属性。具体有哪些属性可以设置,可以参考控件的开发文档,例如TextView就有很多属性,开发文档都有列举。

2.5 属性值的设置

在对属性值设置时,可以使用三种方式。

  1. 直接赋值:直接将要设定的值写到item标签当中,

  2. @引用:将要设定的值通过@引用,设置给item标签,这种引用是将要设定的值换了一个名字,

  3. 引用:这种引用并不直接设置值,而是表明希望设置的值与“另一个属性”的值相同;这“另一个属性”定义在当前使用的主题当中(怎么定义的会在主题相关的章节介绍),


/**************************************************************************/
* 版权声明
* 本教程只在CSDN安豆网发布,其他网站出现本教程均属侵权。
/
**************************************************************************/