Android TextView
Android的TextView组件是一个View子类,能够显示文本。作为View的子类,TextView组件可以在Android应用的GUI的ViewGroup中使用,也可以作为活动的内容视图使用。
创建一个TextView
我们可以通过在布局XML文件中声明实例或者通过编程实例化实例来创建一个TextView实例。在以下各节中,我将介绍创建" TextView"的两种方法。
在布局文件中创建TextView
通过在布局文件中要显示" TextView"的位置插入" TextView"元素,可以在Android布局XML文件中创建" TextView"。这是一个声明TextView的示例布局文件:
<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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<TextView android:text="@string/hello_world"
android:id="@+id/textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>
注意RelativeLayout元素内的TextViewXML元素。这个TextView元素声明一个TextView对象。我的有关Android布局的教程介绍了其他布局属性。
将布局文件用作" Activity"子类的内容视图后,我们可以像以下方式获取对" TextView"实例的引用:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView textView = (TextView) findViewById(R.id.textview);
}
}
以编程方式创建TextView
我们还可以通过编程实例化AndroidTextView。这是一个AndroidTextView实例化示例:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RelativeLayout relativeLayout =
(RelativeLayout) findViewById(R.id.rootlayout);
TextView textView = new TextView(this);
textView.setText("Hey, one more TextView");
relativeLayout.addView(textView);
}
}
本示例创建一个" TextView"实例,设置其文本并将其添加到活动的根布局中。
设置TextView的文本
我们可以在布局文件中声明文本时或者使用setText()方法来设置要在TextView中显示的文本。
这是一个XML示例,显示了如何在布局文件中设置已声明的" TextView"的文本:
<TextView android:text="@string/hello_world"
android:id="@+id/textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
文字是通过android:text属性设置的。我们可以直接将文本设置为属性值,也可以像在上面的示例中一样,引用在strings.xml中定义的文本。
这是一个TextViewsetText()示例,以编程方式设置文本:
textView.setText("Hey, one more TextView");
在TextView中显示HTML
Android的TextView组件也可以显示HTML。这是操作方式:
textView.setText(Html.fromHtml(
"<p>This text is <b>bold</b> and uses HTML</p>" +
"<p>This is <i>italic</i> .</p>"));
不过," TextView"能够显示的HTML受到限制。如果需要显示更高级的HTML,请使用Android WebView。

