4.编辑框 EditText
所谓的编辑框指的是用户可以进行输入数据的地方,就非常类似于HTML语法中的input type=“text”组件的作用。
掌握EditText组件的使用。
文本显示组件(EditText)的功能只是显示一些基础的文字信息,而如果用户要想定义可以输入的文本组件以达到很好的人机交互操作,则只能使用编辑框:EditText完成,此类的定义如下:
Java.lang.Object
Android.view.View
Android.widget.TextView
Android.widget.EditText
可以查文档,与Button一样EditText也是TextView类的子类,唯一不同的是TextView不能输入数据而EditText可以输入数据,既然有了输入数据,就有可能输入各式各样的形式,所以对于输入数据的部分需要进行验证。
下面通过具体的项目来演示
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <EditText android:id="@+id/myet1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="石家庄邮电职业技术学院" /> </LinearLayout>
|
与之前的配置完全一样,就是直接使用EditText元素进行定义。
<EditText android:id="@+id/myet1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="石家庄邮电职业技术学院" android:selectAllOnFocus="true" 被默认全选 /> |
对于文本输入框很重要的一点就是默认选中的功能。
对于文本输入组件而言,肯定也可以使用Activity程序进行控制。例如:设置组件不可使用
<EditText android:id="@+id/myet2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="网址: www.baidu.com"
/> |
但是随后希望可以将其设置为不可编辑状态。
package com.example.EditTextProject;
import android.app.Activity; import android.os.Bundle; import android.widget.EditText;
public class MyEditTextDemo extends Activity { private EditText edit = null;//作为属性出现
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); this.edit = (EditText) super.findViewById(R.id.myet2);//取得组件 this.edit.setEnabled(false); //现在不可编辑 } } |
此时的组件内容就是显示,就可以理解为一个TextView。
但是对于文本输入组件而言,本身也有一个必须注意的问题,就是有可能让用户输入密码,所以这个时候输入数据就应该使用密文来表示。
<EditText android:id="@+id/myet3" android:layout_width="fill_parent" android:layout_height="wrap_content" android:password="true" 此处表示采用密码的形式进行数据的回显 android:text="用户登录密码" 这些文字将不是明文显示
/> |
如果要想输入数据,在模拟器上执行基本上是很慢的。
可是对于很多情况下,默认的文本输入框是可以输入任何数据的,如果现在要求输入的只能使数字呢,那么也必须做出限制。
<EditText android:id="@+id/myet4" android:layout_width="fill_parent" android:layout_height="wrap_content" android:numeric="integer" 本部分就是表示输入的内容都是数字 android:text="13562365038" 默认的文字也都是数字
/> |
以后呢这个文本框不能出去非数字的数据。
总结:
文本框编辑可以进行用户数据输入功能的实现;
密码的实现依靠:android:password="true" 属性 (运行密文的显示)