Android开发之文本输入

1. 概述

Android开发学习笔记。学习编辑框EditText的使用,包括:改变编辑框的外观、编辑框的焦点变更监听器、文本变化监听器。

2. 编辑框 EditText

编辑框接收软键盘输入的文字,由文本视图TextView派生而来,除了TextView已有的各种属性和方法,EditText还支持下列xml属性:

  • inputType:指定输入的文本类型(文本、整型数、文本密码等),若同时使用多种文本类型,用竖线拼接多种类型;
  • maxLength:指定文本允许输入的最大长度;
  • hint:指定提示文字的内容;
  • textColorHint:指定提示文字的颜色。

默认编辑框的下划线用了已有的背景属性background;未输入与正在输入两种情况的颜色差异,是因为使用了状态列表图形,编辑框获得焦点时显示红色的下划线,其余时候显示灰色下划线。

利用状态列表图形将编辑框背景改为更加每个的圆角矩形,从而改变编辑框的外观。

3. 焦点变更监听器

编辑框比较特殊,要点击两次后才会触发点击事件,因为第一次点击只触发焦点变更事件,第二次才触发点击事件。对于编辑框来说,应当注册焦点变更监听器,而非注册点击监听器。

焦点变更监听器来自接口View.OnFocusChangeListener,需要重写onFocusChange方法。

EditText et_password = findViewById(R.id.et_password);
et_password.setOnFocusChangeListener(this);

4. 文本变化监听器

文本监听器接口TextWatcher,提供了3个监控方法:

  • beforeTextChanged,在文本改变之前触发;
  • onTextChanged,在文本改变过程中触发;
  • afterTextChanged,在文本改变之后触发。

自定义监听器实现接口TextWatcher,重写上述3个方法,监听操作逻辑可根据需要,在其中之一方法中实现。

注册文本变化监听器,调用编辑框对象的addTextChangedListener方法完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值