当前位置: 代码迷 >> Android >> 稳扎稳打_Android开发课[37]_用户界面之theme和style
  详细解决方案

稳扎稳打_Android开发课[37]_用户界面之theme和style

热度:223   发布时间:2016-04-28 00:53:25.0
步步为营_Android开发课[37]_用户界面之theme和style

Focus on technology, enjoy life!—— QQ:804212028
浏览链接:http://blog.csdn.net/y18334702058/article/details/44624305


  • 主题:用户界面之theme和style
    -theme和style很容易混淆,theme样式是用于添加到application或者activity中去的。而style样式是用于添加到view控件中去的。

样式的定义:

找到项目文件夹:res/valus/styles,styles.xml这个文件就是专门用来定义样式的一个文件夹。没有的话,自己创建一个。
代码如下:

<?xml version="1.0" encoding="utf-8"?><resources>    <style name="AppTheme" parent="AppBaseTheme">        <item name="android:layout_width">fill_parent        <item name="android:layout_height">wrap_content        <item name="android:textColor">00FF00    </style></resources>

样式的继承:

开发者都应该知道的一个样式可以继承平台原有的样式,也可以继承自定义的样式。继承平台原有的样式如下

<style name="GreenText" parent="@android:style/TextAppearance">    <item name="android:textColor">00FF00</style>

继承自定义样式只要在style的name属性上加一个前缀名就可以了。前缀名是自定义的那个style的名称,例如Red样式继承CodeFont的样式可以这样写:

<style name="CodeFont.Red">    <item name="android:textColor">FF0000</style>

这种继承方式还可以不断继承下去,Big再继承他们的样式:

<style name="CodeFont.Red.Big">    <item name="android:textSize">30sp</style>

Style 和 Theme的使用:

//在控件里使用styles样式<TextView    style="@style/CodeFont    android:text="@string/hello" />//在application中使用themes样式<application android:theme="@style/MyTheme">//在activity中使用themes样式<activity android:theme="@style/MyTheme">

什么是Style,什么是Theme?

Style:是一个包含一种或者多种格式化属性的集合,我们可以将其用为一个单位用在布局XML单个元素当中。比如,我们可以定义一种风格来定义文本的字号大小和颜色,然后将其用在View元素的一个特定的实例。

Theme:是一个包含一种或者多种格式化属性的集合,我们可以将其为一个单位用在应用中所有的Activity当中(也就是application中)或者应用在某个Activity当 中。

来看看他们的定义:

<?xml version="1.0" encoding="utf-8"?>   <resources>       <!-- 定义style --><style name="myTextStyle" mce_bogus="1">    <item name="android:textSize">20px</item>    <item name="android:textColor">EC9237</item></style>      <style name="myTextStyle2" mce_bogus="1">      <item name="android:textSize">14px</item>    <item name="android:textColor">FF7F7C</item></style>       <!-- 定义theme -->     <style name="myTheme" mce_bogus="1">    <item name="android:windowNoTitle">true</item>    <item name="android:textSize">14px</item>    <item name="android:textColor">FFFF7F7C</item></style>  </resources> 

从上面的例子可以看出,定义上style与定义theme基本相同,只是使用的地方不同,还有就是在一些标签的使用上: style 作用于view,theme作用于application或者Activity。

Focus on technology, enjoy life!—— QQ:804212028
浏览链接:http://blog.csdn.net/y18334702058/article/details/44624305