• Android Video Tutorials

Android - TextView 控件



TextView 用于向用户显示文本,并且可以选择允许用户编辑它。TextView 是一个完整的文本编辑器,但是基本类配置为不允许编辑。

TextView 属性

以下是与 TextView 控件相关的重要的属性。您可以查看 Android 官方文档以获取属性的完整列表,以及在运行时更改这些属性的相关方法。

序号 属性 & 描述
1

android:id

这是唯一标识控件的 ID。

2

android:capitalize

如果设置,则指定此 TextView 具有文本输入方法,并且应该自动将用户输入的内容大写。

  • 不自动大写任何内容 - 0
  • 将每个句子的第一个单词大写 - 1
  • 将每个单词的第一个字母大写 - 2
  • 将每个字符大写 - 3
3

android:cursorVisible

使光标可见(默认值)或不可见。默认为 false。

4

android:editable

如果设置为 true,则指定此 TextView 具有输入方法。

5

android:fontFamily

文本的字体系列(由字符串命名)。

6

android:gravity

指定当文本小于视图时,如何在视图的 x 和/或 y 轴上对齐文本。

7

android:hint

文本为空时显示的提示文本。

8

android:inputType

放置在文本字段中的数据类型。电话、日期、时间、数字、密码等。

9

android:maxHeight

使 TextView 的高度最多为这么多像素。

10

android:maxWidth

使 TextView 的宽度最多为这么多像素。

11

android:minHeight

使 TextView 的高度至少为这么多像素。

12

android:minWidth

使 TextView 的宽度至少为这么多像素。

13

android:password

字段的字符是否显示为密码点而不是自身。可能的值为“true”或“false”。

14

android:phoneNumber

如果设置,则指定此 TextView 具有电话号码输入方法。可能的值为“true”或“false”。

15

android:text

要显示的文本。

16

android:textAllCaps

以全部大写形式显示文本。可能的值为“true”或“false”。

17

android:textColor

文本颜色。可以是颜色值,格式为“#rgb”、“#argb”、“#rrggbb”或“#aarrggbb”。

18

android:textColorHighlight

文本选择高亮的颜色。

19

android:textColorHint

提示文本的颜色。可以是颜色值,格式为“#rgb”、“#argb”、“#rrggbb”或“#aarrggbb”。

20

android:textIsSelectable

指示不可编辑文本的内容是否可以选择。可能的值为“true”或“false”。

21

android:textSize

文本的大小。建议用于文本的尺寸类型是“sp”(缩放像素)(例如:15sp)。

22

android:textStyle

文本的样式(粗体、斜体、粗斜体)。您可以使用以下一个或多个值,并用“|”分隔。

  • 普通 - 0
  • 粗体 - 1
  • 斜体 - 2
23

android:typeface

文本的字体(普通、无衬线、衬线、等宽)。您可以使用以下一个或多个值,并用“|”分隔。

  • 普通 - 0
  • 无衬线 - 1
  • 衬线 - 2
  • 等宽 - 3

示例

此示例将引导您完成简单的步骤,以演示如何使用线性布局和 TextView 创建自己的 Android 应用。

步骤 描述
1 您将使用 Android Studio 创建一个 Android 应用,并在包 com.example.demo 下将其命名为 demo,如“Hello World 示例”章节中所述。
2 修改 src/MainActivity.java 文件以添加必要的代码。
2 修改 res/layout/activity_main.xml 文件的默认内容以包含 Android UI 控件。
3 无需更改 string.xml 文件中的默认字符串常量。Android Studio 会处理默认字符串常量。
4 运行应用以启动 Android 模拟器并验证对应用所做的更改的结果。

以下是修改后的主活动文件 src/com.example.demo/MainActivity.java 的内容。此文件可以包含每个基本生命周期方法。

package com.example.demo;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      
      //--- text view---
      TextView txtView = (TextView) findViewById(R.id.text_id);
   }
}

以下是 res/layout/activity_main.xml 文件的内容:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   tools:context=".MainActivity" >
   
   <TextView
      android:id="@+id/text_id"
      android:layout_width="300dp"
      android:layout_height="200dp"
      android:capitalize="characters"
      android:text="hello_world"
      android:textColor="@android:color/holo_blue_dark"
      android:textColorHighlight="@android:color/primary_text_dark"
      android:layout_centerVertical="true"
      android:layout_alignParentEnd="true"
      android:textSize="50dp"/>

</RelativeLayout>

以下是 res/values/strings.xml 文件的内容,用于定义两个新的常量:

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <string name="app_name">demo</string>
</resources>

以下是 AndroidManifest.xml 的默认内容:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.demo" >
   
      
   <application
      android:allowBackup="true"
      android:icon="@drawable/ic_launcher"
      android:label="@string/app_name"
      android:supportsRtl="true"
      android:theme="@style/AppTheme" >
      
      <activity
         android:name="com.example.demo.MainActivity"
         android:label="@string/app_name" >
      
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
         
      </activity>
      
   </application>
</manifest>

让我们尝试运行您的 demo 应用。我假设您在进行环境设置时创建了您的 AVD。要从 Android Studio 运行应用,请打开项目的一个活动文件,然后点击工具栏中的运行 Eclipse Run Icon 图标。Android Studio 将应用安装到您的 AVD 并启动它,如果您的设置和应用一切正常,它将显示以下模拟器窗口:

Android textView Control

练习

我建议您尝试在布局 XML 文件和编程时使用 TextView 的不同属性来尝试以上示例,以获得 TextView 不同的外观和感觉。尝试使其可编辑,更改字体颜色、字体系列、宽度、textSize 等,并查看结果。您也可以尝试在同一个活动中使用多个 TextView 控件来尝试以上示例。

android_user_interface_controls.htm
广告