您的位置:首页 > Web前端 > CSS

样式Style和主题Theme

2016-06-07 21:10 399 查看

一、样式Style

样式是属性的集合,以独立的资源文件的形式存放与xml文件中

1、自定义样式

在Res/values/styles中添加或者在Res/values中新建xml文件

以自定RadioButton的样式为例

(1)在values文件夹下新建xml文件,我命名的是"mystyle.xml"

(2)添加相关代码

<?xml version="1.0" encoding="utf-8"?>
<resources>
<!---->
<style name="RadioButtonStyle">
<!--name 属性自定义-->
<item name="android:layout_height">wrap_content</item>
<!--item中name属性为要设定的相关属性,是系统预先设定的,开始标签和结束标签是这个属性的值-->
<item name="android:layout_width">wrap_content</item>
</style>
</resources>

2、引用样式

<Button style="@style/RadioButtonStyle"></Button>
<!--@style/ + 自定义的style资源中的name属性-->

3、样式的继承

样式的继承可以提高代码的重用性和可读性.

样式的继承有两种方式

(1)通过设置parent属性继承

<?xml version="1.0" encoding="utf-8"?>
<resources>
<!---->
<style name="RadioButtonStyle" parent="AppTheme">
<!--AppTheme是默认主题,在styles文件中可以看到-->
<!--和java中类似,子样式会继承父样式中定义的属性-->

</style>
</resources>

(2)通过命名规则"."实现

<?xml version="1.0" encoding="utf-8"?>
<resources>
<!---->
<style name="AppTheme.RadioButtonStyle">
<!--父样式.子样式-->

</style>
</resources>
注:子元素中如果定义了和父元素一样的属性,但值不相同,会优先使用子元素

二、主题Theme

主题同样也是资源的集合,但它不同于style,theme可以编辑所有Activity或者某一Activity

1、样式与主题的区别

 样式主题
作用范围ViewGroup和ViewAcitvity
定义的属性内容内容和窗口
优先级
引用方式style=""theme=""
引用位置layout.xml文件androidManifest

2、自定义主题

自定义theme和自定义style相似
<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>

</resources>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: