老是要一个个指定文字的大小、颜色也不是办法,在Android程序开发过程中,也可以通过样式(style)的方式,初始化TextView的文本颜色、大小;在Layout当中的任何对象(以xml定义)都可以用样式化的方式来更改其外观。
在下面的例子中,将创建两个TextView作为对比,使其呈现两种不通的样式差异。而Style的写法和先前介绍到的颜色常数相同,同样是定义在/res/values下面,但其XML定义的方式不同。
运行结果:
程序:
1、ex03_07/res/values/ 下创建style.xml文件,如下
在此的style.xml中定义了两个个样式名称,分别为DavidStyleText1与DavidStyleText2;
<?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>
2、ex03_07/res/layout/main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<!-- 应用样式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"
/>
<!-- 应用样式2的TextView -->
<TextView
style="@style/DavidStyleText2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical|center_horizontal"
android:text="@string/str_text_view2"
/>
</LinearLayout>