android移动应用开发任务驱动教程:android 9.0+android studio 3.2
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.7 TextView控件与EditText控件

1.功能说明

TextView控件是文本表示控件,主要功能是向用户展示文本的内容,它是不可编辑的。EditText控件是编辑文本控件,主要功能是用于用户输入文本内容,它是具有编辑功能的TextView。EditView类是TextView类的子类,EditView与TextView最大的不同就是用户可以对EditView控件进行编辑,同时还可以为EditView控件设置监听器,用来判断用户的输入是否合法。每个控件都有着与之相应的属性,通过选择不同的属性,为其赋值,能够实现不同的效果。

在程序设计和编写过程中,可以采用两种方式使用TextView和EditText控件。

方式一,通过在程序中创建控件的对象来使用控件。例如TextView控件,可以通过编写如下代码完成控件使用:

TextView tv=new TextView(this);
tv.setText(“用户名");
setContentView(tv);

方式二,通过在res\layout文件夹下的XML文件中布局使用控件。例如TextView控件,可以编写如下代码达到使用目的:

<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="用户名"/>

相比而言,采用方式二更好,一是方便代码的维护,二是编码比较灵活,三是利于分工协作。

2.基本属性

TextView控件的基本属性如表2-2所示,这些属性大部分可用于TextView,也可适用于EditText和Button,仅有少部分属性只适用于其中之一。

表2-2 TextView控件的基本属性

续表

续表

EditText的基本属性如表2-3所示。

表2-3 EditText的基本属性

3.重要方法

通过调用控件的方法可以动态修改TextView控件与EditText控件的属性。

● public CharSequence getText()

方法getText()用于获取文本控件的文本内容,返回值为控件当前显示的字符串,通过方法toString()将其转化为熟悉的String类型。

示例代码如下:

TextView tv=(TextView)findViewById(R.id.text);
String strText=tv.getText().toString();

● public final void setText(int resid)

该方法用于设置TextView的显示内容为某个字符串资源。

示例代码如下:

TextView tv=(TextView)findViewById(R.id.text);
tv.setText(R.string.username);

使用findViewById方法通过控件的id获得控件的对象,R.id.text是TextView控件的id, tv是该TextView控件对象,R.string.username是某个字符串资源的id。

● public final void setText(CharSequence text)

该方法用于设置TextView的显示内容为参数给定的字符串。

示例代码如下:

TextView tv=(TextView)findViewById(R.id.text);
tv.setText("用户名");

4.示例代码

<TextView
    android:id="@+id/tvname"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="用户名"
    android:textSize="10pt" />
<EditText
    android:id="@+id/editname"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="请输入用户名"
    android:selectAllOnFocus="true" />