样式和主题
2015-07-26 22:31
651 查看
一、样式
样式是属性的集合,例如定义属性fontColor、fontSize、layout_width、layout_height等,以独立的资源文件存放在XML文件中,并设置样式的名称。
Android Style类似网页设计中的级联样式CSS设计思路,可以让设计与内容分离,并且可以方便的继承、覆盖、重用。
1.使用Style
首先,在res/values/下创建Style XML资源文件,这里创建的Style资源文件名命名为styles.xml,这个可以自己自定义。
styles.xml内容如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="wrap_content">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
</style>
</resources>
其中,style标签中name属性类似CSS中的class name,item标签中的name对应属性的名字,item标签对中的text对应属性的值。
2.使用样式:
<?xml version="1.0" encoding="utf-8"?>
<TextView
style="@style/wrap_content "
android:textColor="#00FF00"
android:text="@string/hello" />
3、样式的继承
有两种方式来实现继承,一是通过style的parent属性,二是使用类似CSS中的命名规则来实现。
一、通过parent属性
修改styles.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="wrap_content">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
</style>
<style name="inherit" parent="wrap_content">
<item name="android:textColor">#00FF00</item>
</style>
</resources>
新增名为inherit的样式,并且继承名为wrap_content样式,也就是说inherit具有wrap_content样式中定义的属性参数。
引用方式:style="@style/inherit"
二、通过命名规则实现
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="wrap_content">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
</style>
<style name="wrap_content.inherit">
<item name="android:textColor">#00FF00</item>
</style>
</resources>
</resources>通过“.”号实现继承。
引用方式:style="@style/wrap_content.inherit"
二、主题
针对应用中所有Activity或者针对某个Activity设置样式,可以通过编辑AndroidManifest.xml来完成。
1.设置应用中所有Activity活动的主题
<application android:theme="@style/wrap_content">
<application android:theme="@style/wrap_content">这样,应用中所有Activity中的所有组件都会默认使用包裹布局。
2.设置某个指定的Activity主题
<activity android:theme="@style/wrap_content">
另外,android提供了许多自带的主题样式。例如Theme.Dialog、Theme.Translucent等等。使用方式也很简单
<activity android:theme="@android :style/Theme.Dialog">
3、位置
在Android的frameworks/base/core/res/res/values目录下有一下几个文件:
themes.xml
themes_device_defaults.xml
styles.xml
styles_device_defaults.xml
三.样式与主题的区别
1.1样式应用于特殊的组件,主题应用与整个应用或整个Activity
1.2主题不仅单单显示内容的风格(大小、颜色),而且可以设置窗口的显示风格
1.3当主题的设置属性与样式的设置属相相同时,系统按样式的设置属性显示
样式是属性的集合,例如定义属性fontColor、fontSize、layout_width、layout_height等,以独立的资源文件存放在XML文件中,并设置样式的名称。
Android Style类似网页设计中的级联样式CSS设计思路,可以让设计与内容分离,并且可以方便的继承、覆盖、重用。
1.使用Style
首先,在res/values/下创建Style XML资源文件,这里创建的Style资源文件名命名为styles.xml,这个可以自己自定义。
styles.xml内容如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="wrap_content">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
</style>
</resources>
其中,style标签中name属性类似CSS中的class name,item标签中的name对应属性的名字,item标签对中的text对应属性的值。
2.使用样式:
<?xml version="1.0" encoding="utf-8"?>
<TextView
style="@style/wrap_content "
android:textColor="#00FF00"
android:text="@string/hello" />
3、样式的继承
有两种方式来实现继承,一是通过style的parent属性,二是使用类似CSS中的命名规则来实现。
一、通过parent属性
修改styles.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="wrap_content">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
</style>
<style name="inherit" parent="wrap_content">
<item name="android:textColor">#00FF00</item>
</style>
</resources>
新增名为inherit的样式,并且继承名为wrap_content样式,也就是说inherit具有wrap_content样式中定义的属性参数。
引用方式:style="@style/inherit"
二、通过命名规则实现
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="wrap_content">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
</style>
<style name="wrap_content.inherit">
<item name="android:textColor">#00FF00</item>
</style>
</resources>
</resources>通过“.”号实现继承。
引用方式:style="@style/wrap_content.inherit"
二、主题
针对应用中所有Activity或者针对某个Activity设置样式,可以通过编辑AndroidManifest.xml来完成。
1.设置应用中所有Activity活动的主题
<application android:theme="@style/wrap_content">
<application android:theme="@style/wrap_content">这样,应用中所有Activity中的所有组件都会默认使用包裹布局。
2.设置某个指定的Activity主题
<activity android:theme="@style/wrap_content">
另外,android提供了许多自带的主题样式。例如Theme.Dialog、Theme.Translucent等等。使用方式也很简单
<activity android:theme="@android :style/Theme.Dialog">
3、位置
在Android的frameworks/base/core/res/res/values目录下有一下几个文件:
themes.xml
themes_device_defaults.xml
styles.xml
styles_device_defaults.xml
三.样式与主题的区别
1.1样式应用于特殊的组件,主题应用与整个应用或整个Activity
1.2主题不仅单单显示内容的风格(大小、颜色),而且可以设置窗口的显示风格
1.3当主题的设置属性与样式的设置属相相同时,系统按样式的设置属性显示
相关文章推荐
- 表单的CSS设计
- CSS精灵
- CSS元素分类
- CSS盒子模型
- HTML+CSS学习笔记(一)——网页布局
- CSS盒子模型
- 怎么改变Extjs控件的样式(字体颜色、背景颜色等)
- CSS3:nth-child(n)与nth-child(2n+1)中n的区别。
- 纯CSS实现三列布局(两边固定,中间自适应)
- CSS3中li元素自动横向排列、多栏div自动横向排列的简单方法
- 关于css布局
- 详解用CSS3制作圆形滚动进度条动画效果
- CSS易混淆知识点总结与分享-定位与布局
- 揭开CSS3媒体查询迷雾(min-width和max-width)
- 通过样式调整input 中password text默认长度
- CSS3 calc()的使用
- ZOOM:1的原理和作用
- 纯CSS实现三列布局(两边固定,中间自适应)
- 在action跳转的jsp页面中引入静态js、css文件
- 解读CSS布局之-水平垂直居中