在Android中,文本控件首要包含TextView控件和EditText控件。 1.TextView类简介 TextView持续自View类。TextView控件的功能是向用户显示文本内容,同时可选择性地让用户编辑文本。从功能上来讲,一个TextView就是一个完全的文本编辑器,只不过其本身被设置为不容许编辑,其子类EditText被设置为容许用户对内容进行编辑。 TextView控件中包含很多可以在XML文件中设置的属性,这些属性同样可以在代码中动态声明。TextView常用属性及其对应办法如小表所示。
2.EditText类简介 EditText类持续自TextView。EditText与TextView最大的不合就是用户可以对EditText控件进行编辑,同时还可认为EditText控件设置****,用来检测用户的输入是否合法等。下表列出了EditText持续自TextView的常用属性及对应办法申明。
3.文本框应用案例 本案例的首要功能是接管用户输入的电子邮箱地址和德律风号码,开辟步调如下。 1)新建一个项目Android_Sample_4_1。 2)在项目res/values目次下新建一个colors.xml文件,并在此中声明法度中会用到的色彩资料,代码如下所示。 1: <?xml version="1.0" encoding="utf-8"?>2: <resources>3: <color name="shadow">#fd8d8d</color>4: </resources> 3)打开res/values目次下的strings.xml,在此中输入如下代码。 1: <?xml version="1.0" encoding="utf-8"?>2: <resources>3:4: <string name="app_name">Android_Sample_4_1</string>5: <string name="tvEmail">邮箱地址\n(如:wyf12345678@wyf.com)</string>6: <string name="etEmail">请输入电子邮件地址</string>7: <string name="tvPhone">德律风号码\n(如:1234567890)</string>8: <string name="etPhone">请输入德律风号码</string>9: <string name="etInfo">此处显示挂号信息</string>10:11: </resources> 4)设置应用法度的布局。打开布局文件main.xml,在此中写入本法度布局代码的框架,代码如下所示。 1: <?xml version="1.0" encoding="utf-8"?>2: <TableLayout xmlns:android="http://schemas./apk/res/android"3: android:layout_width="fill_parent"4: android:layout_height="fill_parent"5: android:shrinkColumns="0,2" >6:7: <TableRow8: android:layout_width="fill_parent"9: android:layout_height="wrap_content" >10:11: <TextView12: android:id="@+id/tvEmail"13: android:layout_width="wrap_content"14: android:layout_height="wrap_content"15: android:autoLink="email"16: android:ellipsize="end"17: android:text="@string/tvEmail"18: android:textSize="10dp" />19:20: <EditText21: android:id="@+id/etEmail"22: android:layout_width="wrap_content"23: android:layout_height="wrap_content"24: android:hint="@string/etEmail"25: android:inputType="textEmailAddress"26:27: android:AllOnFocus="true"28: android:shadowColor="@color/shadow"29: android:maxWidth="160dp"30: android:shadowDx="2.5"31: android:shadowDy="2.5"32: android:shadowRadius="5.0"33: android:textSize="10dp" />34: </TableRow>35:36: <TableRow37: android:layout_width="fill_parent"38: android:layout_height="wrap_content" >39:40: <TextView41: android:id="@+id/tvPhone"42: android:layout_width="wrap_content"43: android:layout_height="wrap_content"44: android:autoLink="phone"45: android:ellipsize="middle"46: android:text="@string/tvPhone"47: android:textSize="10dp" >48: </TextView>49:50: <EditText51: android:id="@+id/etPhone"52: android:layout_width="wrap_content"53: android:layout_height="wrap_content"54: android:hint="@string/etPhone"55: android:maxWidth="160dp"56: android:phoneNumber="true"57: android:AllOnFocus="true"58: android:shadowColor="@color/shadow"59: android:shadowDx="2.5"60: android:shadowDy="2.5"61: android:shadowRadius="5.0"62: android:singleLine="true"63: android:textSize="10dp" >64: </EditText>65: </TableRow>66:67: <EditText68: android:id="@+id/etInfo"69: android:layout_width="wrap_content"70: android:layout_height="wrap_content"71: android:cursorVisible="false"72: android:hint="@string/etInfo"73: android:lines="5"74: android:shadowColor="@color/shadow"75: android:shadowDx="2.5"76: android:shadowDy="2.5"77: android:shadowRadius="5.0" />78:79: </TableLayout> 5)开辟完法度的布局文件后,最掉队行Activity项目组的开辟。打开项目src/wyf/jc目次下的Android_Sample_4_1Activity.java,在此中输入如下代码。 1: package wyf.jc;2:3: import android.app.Activity;4: import android.os.Bundle;5: import android.widget.EditText;6: import android.view.KeyEvent;7: import android.view.View;8: import android.view.View.OnKeyListener;9:10: public class Android_Sample_4_1Activity extends Activity {11:12: @Override13: public void onCreate(Bundle savedInstanceState) {14: super.onCreate(savedInstanceState);15: setContentView(R.layout.main);16: EditText etEmail = (EditText) findViewById(R.id.etEmail);17: etEmail.setOnKeyListener(myOnKeyListener);18: }19:20: private OnKeyListener myOnKeyListener = new OnKeyListener() {21:22: @Override23: public boolean onKey(View v, int keyCode, KeyEvent event) {24:25: EditText etInfo = (EditText) findViewById(R.id.etInfo);26: EditText etEmail = (EditText) findViewById(R.id.etEmail);27: etInfo.setText("您輸入的郵箱地址為:" + etEmail.getText());28:29: return false;30: }31: };32:33: } 6)运行本法度,运行结果如下图所示。 在电子邮件文本框中输入文字,该文本内容将会显示鄙人方的信息框中。如下图所示。 |
|