Android控件系列之EditText使用方法
2023-06-13 09:14:40 时间
1、掌握在Android中如何建立EditText
2、掌握EditText的常用属性
3、掌握EditText焦点的事件、按键的事件(监听器)
介绍:
EditText是接受用户输入信息的最重要控件。通过前面课程的学习,您可能会猜到可以利用EditText.getText()获取它的文本,但真正的项目中,可能没那么简单,需要更多的限制,如文本长度限制,是否数字限制等等。
鉴于手机屏幕尺寸有限,您可能总想着如何节约控件。在每个用户需要填写内容的文本框的左边加上标题在PC上是一种优雅的方法,但在手机上就会显的浪费,因此本例我们将学习如何利用一个EditText达到所有的效果:
请注意
XML布局代码如下:
<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#DDDDDD"
android:text="请输入您的名字"
android:id="@+id/et"
android:maxLength="10"
></EditText>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="点击转换焦点"
></Button>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="点击转换焦点"
android:id="@+id/et2"
></EditText>
</LinearLayout>
后台代码如下:
//表示文本框是否为空
privateBooleanisEmpty=true;
/**Calledwhentheactivityisfirstcreated.*/
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
EditTextet=(EditText)this.findViewById(R.id.et);
//监听控件的焦点改变事件
et.setOnFocusChangeListener(newOnFocusChangeListener(){
@Override
publicvoidonFocusChange(Viewarg0,booleanarg1){
//TODOAuto-generatedmethodstub
//获取触发事件的EditText
EditTextclickEditText=(EditText)arg0;
//如果失去焦点
if(arg1==false)
{
//获取当前文本
Stringtext=clickEditText.getText().toString().trim();
//如果的确人为输入过内容
if(text.length()>0
&text.equals("请输入您的名字")==false)
{
isEmpty=false;
clickEditText.setTextColor(Color.BLACK);
clickEditText.setText(text);
}
else
{
clickEditText.setText("请输入您的名字");
clickEditText.setTextColor(Color.GRAY);
isEmpty=true;
}
}
//如果获得焦点
else
{
clickEditText.setTextColor(Color.BLACK);
//如果处于未编辑状态,则清空“请输入您的名字”这几个字
if(isEmpty==true)
{
clickEditText.setText("");
}
}
}
});
//监听控件有新字符输入
et.setOnKeyListener(newOnKeyListener(){
@Override
publicbooleanonKey(Viewarg0,intarg1,KeyEventarg2){
//TODOAuto-generatedmethodstub
//获取触发事件的EditText
EditTextclickEditText=(EditText)arg0;
//获取当前文本
Stringtext=clickEditText.getText().toString().trim();
if(text.length()==10)
{
//提示用户
Toasttoast=Toast.makeText(MyActivity.this,"最大长度为10个字符",Toast.LENGTH_SHORT);
toast.setGravity(0,0,0);
toast.show();
}
returnfalse;
}
});
}
总结:
本文介绍了如何在Android中使用EditText,并介绍了常用的属性和事件,最后实现了一个用户体验良好的,并且非常通用的文本限制和提示功能。
相关文章
- android activity自动跳转,Android activity跳转之finish()方法的作用
- android 空间分享到朋友圈,Android开发之微信分享到好友,朋友圈
- android okio使用方法,Android 开源框架 Okio 原理剖析「建议收藏」
- android autosize原理,Android屏幕适配头条:autosize的原理
- Android保存图片到相册(适配android 10以下及以上)
- 【Android 应用开发】Paint 图形组合 Xfermod 之 合成模式表示方法 ( Xfermod 使用步骤 | 透明度 颜色值 公式表示方法 | 老版本表示方法 | 合成区域分块 )
- 【Android 异步操作】线程池 ( 线程池简介 | 线程池初始化方法 | 线程池种类 | AsyncTask 使用线程池示例 )
- 【Android 逆向】x86 汇编 ( 使用 IDA 解析 x86 架构的动态库文件 | 使用 IDA 打开动态库文件 | IDA 中查找指定的方法 )
- 【Android UI】贝塞尔曲线 ④ ( 使用 android.graphics.Path 提供的 cubicTo 方法绘制三阶贝塞尔曲线示例 )
- 解析linux或android添加文件系统的属性接口的方法
- [android] 绑定方式开启服务&调用服务的方法详解手机开发
- [android] 隐式意图和显式意图的使用场景详解手机开发
- Android控件系列之ImageView使用方法
- Android中使用Gson解析JSON数据的两种方法
- Android检测Cursor泄漏的原理以及使用方法
- Android自动判断是电话,网址,EMAIL方法之Linkify的使用
- Android控件之ToggleButton的使用方法
- 解决在eclipse中将android项目生成apk并且给apk签名的实现方法详解
- android之HttpPost&HttpGet使用方法介绍
- Android游戏开发之Canvas画布的介绍及方法
- Android点击Button实现功能的几种方法总结
- Android字符串资源文件format方法使用实例
- Android使用WebView播放flash的方法
- android中DatePicker和TimePicker的使用方法详解