Android 系统包含了很多定义好的样式和主题,下面针对样式和主题进行详细讲解。
· 样式:Android 中的样式和css 样式作用相似,都是作为界面元素来定义显示风格,它是一个包含一个或多个View 控件属性的集合。 样式只能作用于单个View,如EditText、TextView。 使用样式可以指定多个控件具有的重复属性,避免书写大量重复代码。
· 主题:主题也是包含一个或者多个View 控件属性的集合,但它的作用范围不同。 主题是通过AndroidManifest.xml 中的<application>和<activity>节点用在整个应用或者某个Activity,它的影响是全局性的。 如果一个应用中使用了主题,同时应用下的View 也使用了样式,那么当主题和样式中的属性发生冲突时,样式的优先级高于主题。
在Android 系统中,自带主题和样式都可以直接拿来用,设置样式只需要通过代码style="? android:att/..." 即可,设置主题只需通过代码android:theme =" android:style/..."即可。 接下来以“android:theme="@ android:style/Theme. Dialog"”主题为例,向大家展示如何应用系统中的主题。
主题是在AndroidManifest.xml 文件中设置的,具体代码如下所示:
运行效果如图2-16 所示,可以看出程序窗口已经变成了Dialog 窗口,该主题使用的就是Theme.Dialog。
尽管Android 系统提供了很多样式和主题,但是有时候这些效果并不能实现特殊的效果或者风格,此时就应该使用自定义样式和主题。 自定义样式和主题的步骤如下:
①在res/values 目录下默认有一个styles.xml 样式文件,也可以自己创建一个。
②在<resources>节点中添加一个<style>节点,并在该节点中为样式或主题定义一个唯一的名字,也可以选择增加一个父类属性,表示当前风格继承父类的风格。
③在<style>节点中声明一个或者多个<item>,每个<item>节点需要定义一个属性名,并在元素内部设置这个属性的值。
为方便初学者掌握,接下来通过一个案例来演示如何自定义样式和主题。(www.xing528.com)
(1)创建样式和主题
创建一个Android 应用程序,打开res/values 目录下的styles. xml 文件,添加如下代码:
图2-16 Theme.Dialog 主题
该代码首先定义了一个名为“TextStyle"的样式,在该样式中设置了控件的宽度和高度,字体大小为30sp,字体颜色为红色。 <style name="MyTheme">节点用于设置Activity 背景为灰色。
(2)使用样式和主题
在activity_main.xml 的<TextView>控件中,我们通过style="@style/TextStyle"引入定义好的样式,具体代码如下:
在AndroidManifest.xml 的<activity>节点中,我们引入已定义好的主题,具体代码如下:
上述代码,将自定义好的主题和样式运用于当前Activity 之中,然后运行此程序,结果如图2-17 所示。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。