android中的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>