Style

在Android程序开发过程中,也可以通过样式(Style)的方式,初始化TextView的文本颜色、大小;当然这个范例只是抛砖引玉,在Layout当中的任何对象(以XML定义)都可以用样式化的方式来更改其外观。

 

Style的写法与先前介绍到的颜色常数(color.xml)相同,同样是定义在res/values下面

 

res/layout/main.xml

<!-- 应用样式1的TextView -->

  <TextView

  style="@style/DavidStyleText1"

  android:layout_width="fill_parent"

  android:layout_height="wrap_content"

  android:gravity="center_vertical|center_horizontal"

  android:text="@string/str_text_view1"

  />

 

res/values/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>

</resources>

 

styles.xml

<?xml version="1.0" encoding="utf-8"?>
  <!-- Copyright 2009 Joe LaPenna -->

<resources>
  <style    name="FoursquareTheme"
    parent="@android:style/Theme.Light">
    <item      name="android:listSeparatorTextViewStyle">@style/listSeparatorTextViewStyle</item>
    <item      name="android:listViewStyle">@style/listViewStyle</item>
  </style>
 
  <style    name="listSeparatorTextViewStyle"
    parent="@android:attr/listSeparatorTextViewStyle">
    <item      name="android:layout_height">wrap_content</item>
    <item      name="android:layout_width">fill_parent</item>
    <item      name="android:paddingTop">2dip</item>
    <item      name="android:paddingBottom">3dip</item>
    <item      name="android:paddingLeft">5dip</item>
    <item      name="android:background">@drawable/foursquare_gradient</item>
    <item      name="android:textAppearance">@android:style/TextAppearance.Small</item>
    <item      name="android:shadowColor">#111111</item>
    <item      name="android:shadowRadius">1</item>
    <item      name="android:shadowDy">1</item>
    <item      name="android:textStyle">bold</item>
    <item      name="android:textColor">@android:color/white</item>
  </style>

  <!--
    These two styles, listViewStyle and tabHostStyle exist only to allow donut/cupcake to display a
    black-backgrounded TabWidget while preserving the light color background of the app's listviews.
  -->
  <style    name="listViewStyle"
    parent="@android:attr/listViewStyle">
    <item      name="android:background">@android:color/white</item>
    <item      name="android:divider">@drawable/divider</item>
  </style>

  <style    name="tabHostStyle">
    <item      name="android:background">@android:color/black</item>
  </style>


  <!--  Manually specified -->

  <style    name="listItemStyle">
    <item      name="android:paddingBottom">6dip</item>
  </style>

  <style    name="secondaryTextStyle">
    <item      name="android:paddingRight">4dip</item>
    <item      name="android:textAppearance">@android:style/TextAppearance.Small</item>
    <item      name="android:textColor">#74CBE7</item>
  </style>

  <style    name="venueQuickCheckinStyle">
    <item      name="android:paddingTop">0dip</item>
    <item      name="android:paddingBottom">0dip</item>
    <item      name="android:paddingLeft">16dip</item>
    <item      name="android:background">@drawable/quick_checkin_states</item>
    <item      name="android:text">Quick-Checkin</item>
    <item      name="android:textAppearance">@android:style/TextAppearance.Small</item>
    <item      name="android:shadowColor">#111111</item>
    <item      name="android:shadowRadius">1</item>
    <item      name="android:shadowDy">1</item>
    <item      name="android:textColor">@android:color/white</item>
  </style>

  <style    name="TextStyleWhite">
    <item      name="android:shadowColor">@color/dgrey_end</item>
    <item      name="android:shadowRadius">2</item>
    <item      name="android:padding">3dip</item>
    <item      name="android:shadowDy">1.4</item>
    <item      name="android:shadowDx">1.4</item>
    <item      name="android:textColor">@color/white</item>
 
  </style>
  <style    name="listSeparatorTextViewStylePurple"
    parent="@android:attr/listSeparatorTextViewStyle">
    <item      name="android:layout_height">wrap_content</item>
    <item      name="android:layout_width">fill_parent</item>
    <item      name="android:paddingLeft">5dip</item>
    <item      name="android:background">@drawable/purple_gradient</item>
    <item      name="android:textAppearance">@android:style/TextAppearance.Small</item>
    <item      name="android:shadowColor">#111111</item>
    <item      name="android:shadowRadius">1</item>
    <item      name="android:shadowDy">1</item>
    <item      name="android:textStyle">bold</item>
    <item      name="android:textColor">@android:color/white</item>
  </style>
 
</resources>

 扩展学习

style与color的XML语法相类似,皆需要先声明xml的版本以及encoding为UTF-8,但其内的resources则需要以stylename作为样式名称,在最内层才是以item定义样式的范围,其语法如下:

父类属性【parent=string】标识了当前风格是继承于哪个风格

<style name=string [parent=string] >

  <item name=string>Hex value | string value | reference</item>+

</style>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值