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
元素内的TextView
XML元素。这个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中定义的文本。
这是一个TextView
setText()示例,以编程方式设置文本:
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。