基于Java语言的安卓程序编写之七TextView控件

时间:2022-02-08 22:38:33

安卓程序中的TextView控件用于在界面上显示一段文本细信息。今天,我们将一起学习对TextView控件属性的设置,这些设置控件的可视化编辑器设置。但是,可视化编辑器不利于了解界面背后的实现原理,因此,我们将通过修改XML文件来实现TextView控件属性的修改,这样就可以对控件有了更深层次的理解。

在Eclipse中创建一个名为“TextView_Test”的安卓应用程序项目。打开“TextView_Test->res->layout->activity_main.xml”文件,之后在右侧下部选择“activity_main.xml”选项卡,在右侧上部显示activity_main.xml文件的内容。

TextView控件的属性包含控件ID、控件显示内容、控件高度和宽度、控件字体、内容颜色以及内容对其方式等。

1控件ID、控件高度和宽度以及控件显示内容的设置

Eclipse在活动中默认添加了一个TextView控件,在activity_main.xml文件中有如下代码:

    <TextView

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

    android:text="@string/hello_world"/>

其中,android:layout_width表示控件的宽度属性;android:layout_height表示控件的高度属性;android:text表示控件显示的内容。

对以上代码进行添加或修改,实现控件ID、控件高度和宽度以及控件显示内容的设置。

1.1 控件ID的设置

在<textview />中添加如下代码,实现控件ID的设置。

android:id="@+id/textview_test"

其中,@+id表示在项目中添加ID,textview_test表示TextView控件的ID。

1.2 控件宽度和高度的设置

android:layout_width和android:layout_height表示控件的高度和宽度。这两个属性的取值可以是“match_parent”、“fill_parent”和“wrap_content”。其中“match_parent”和“fill_parent”的含义相同,都表示子组件(TextView控件)的高度或者宽度与父容器(活动)的高度或宽度相同,从Android2.2开始,推荐使用“match_parent”; “wrap_content”表示子组件的大小恰好能包裹住它的内容。

在<textview />中添加如下代码,实现对控件高度和宽度的设置

       android:layout_width="match_parent"

    android:layout_height="wrap_content"

以上代码的含义是TextView控件的宽度与活动的宽度相同,也就是手机屏幕的宽度,而高度与其显示的内容高度相匹配。

1.3 控件显示内容的设置

android:text表示控件显示的内容。Eclipse自动生成的代码中,将显示的内容指定为string.xml中定义的字符串资源。可以在string.xml中自定义新的字符串,之后在activity_main.xml中进行指定;也可以直接指定字符串的内容,如下代码所示:

android:text="你好世界!"

经过以上属性设置之后,TextView_Test程序的活动界面如图1-1所示。

基于Java语言的安卓程序编写之七TextView控件

图1-1 设置了控件ID、控件高度和宽度以及控件显示内容之后的活动

2 显示内容对齐方式的设置

可以通过android:gravity来设置显示内容的对齐方式。对齐方式可以设置为top、bottom、left、center等值。

android:gravity="center"

以上代码表示将显示的内容居中。图2-1为修改后的活动界面。

基于Java语言的安卓程序编写之七TextView控件

图2-1 设置了对齐方式之后的活动

3 显示内容字体大小和颜色的设置

android:textSize和android:textColor可以分别用来设置显示内容字体大小和颜色。

       android:textSize="24sp"

    android:textColor="#ff0000"

其中,24sp中的sp表示scale-independent pixels,是安卓字体单位,该值越大则字体越大;#ff0000表示红色、绿色和蓝色的值分别是0xff,0x00和0x00,即为红色。修改后的活动界面如图3-1所示

基于Java语言的安卓程序编写之七TextView控件

图3-1 修改了显示内容字体和颜色后的活动