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" />