(转)Android Styles & Themes(上)——Style

Android Styles & Themes(上)——Style

By: 海市蜃楼 | In: Android开发


很早前就看到Android SDK中关于Applying Styles and Themes的介绍与说明,今天总算有时间来体验下了。和web中的CSS一样,Android也可以为界面定义全局、公用的Style。Styles和Themes都是资源,存放在res/values文件夹下。

首先,什么是Style,什么是Theme?

  • Style:是一个包含一种或者多种格式化属性的集合,我们可以将其用为一个单位用在布局XML单个元素当中。比如,我们可以定义一种风格来定义文本的字号大小和颜色,然后将其用在View元素的一个特定的实例。
  • Theme:是一个包含一种或者多种格式化属性的集合,我们可以将其为一个单位用在应用中所有的Activity当中或者应用中的某个Activity当 中。比如,我们可以定义一个Theme,它为window frame和panel 的前景和背景定义了一组颜色,并为菜单定义可文字的大小和颜色属性,可以将这个Theme应用在你程序当中所有的Activity里。

其次,定义Styles和Themes资源的XML文档的结构

对每一个Styles和Themes,给<style>元素增加一个全局唯一的名字,也可以选择增加一个父类属性。在后边我们可以用这个名字来应用风格,而父类属性标识了当前风格是继承于哪个风格。在<style>元素内部,申明一个或者多个<item>,每一个<item>定义了一个名字属性,并且在元素内部定义了这个风格的值。

然后,看个自定义的Styles的实例

  1. 在res/values 目录下新建一个名叫style.xml的文件。
  2. 在style.xml定义内容如下:
    <?xml version=”1.0″ encoding=”utf-8″?>
    <resources>
    <style name=”DavidStyleText1″>
    <item name=”android:textSize”>18sp</item>
    <item name=”android:textColor”>#EC9237</item>
    </style>
    <style name=”DavidStyleText2″>
    <item name=”android:textSize”>14sp</item>
    <item name=”android:textColor”>#FF7F7C</item>
    <item name=”android:fromAlpha”>0.0</item>
    <item name=”android:toAlpha”>0.0</item>
    </style>
    </resources>

上面样式的定义,从字面意思就可以了解其功能了,下面看看如何应用它吧:

<!– 应用样式1的TextView –>
<TextView
style=”@style/DavidStyleText1″
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:gravity=”center_vertical|center_horizontal”
android:text=”moandroid”/>

<!– 应用样式2的TextView –>
<TextView
style=”@style/DavidStyleText2″
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:gravity=”center_vertical|center_horizontal”
android:text=”www.moandroid.com”
android:autoLink=”all”/>

现在这个EditText组件的所表现出来的风格就为我们在上边的XML文件中所定义的那样,如下:


看了新的界面是不是感觉漂亮多了,这也就是Styles的魅力吧。需要补充说明的是:单击超链接,还可以打开网页如下:


这是如何实现的了?TextView.setTextView不支持HTML TAG的输出,所以即便写成这样:
mTextView01.setText(“<a href=\”http://www.moandroid.com/\”>mo-android|享受Android带给我们的新体验</a>”);实际输出时,也就是纯文本而已,并不会作HTML TAG的转换。但若撇开HTML TAG之外(如“<”开头的标记),在TextView里加上了android:autoLink=”all”,那么正文中若有网址(http://),是可以被显示的。

总结说明

Style的使用相当简单,却很好的改善了界面的效果,不信你就按照上面介绍的步骤,自己去试试看吧!

相关文章


转自:http://www.moandroid.com/?p=909

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值