手机号格式化输入框 3-4-4
开发过程中总遇到显示手机号的需求,如果不加分隔符显示,看起来不太方便,也不美观,所以需求上总要加上分隔符。网上找了一些demo,但是总感觉不和自己心意,仔细想想这个功能应该挺简单的,就自己动手写了一个(懒癌晚期,决心改掉这个毛病)。
一般需求都是186-0000-0000或者186 0000 0000 等3-4-4格式,无非是分隔符不同。那么需求就简单了,在输入3个数字和7个数字后自动给输入框加上分隔符(以“-”为例)即可,那么只需要监听EditText,利用TextWatcher来监听。
好了,思路有了,下面开始动手:自定义一个PhoneEditText继承EditText
/** * Created on 16/6/15. */ public class PhoneEditText extends EditText implements View.OnFocusChangeListener { private int lastLength = 0; private TextWatcher mTextWatcher;
实现它的构造方法
public PhoneEditText(Context context) { this(context, null); } public PhoneEditText(Context context, AttributeSet attrs) { this(context, attrs, android.R.attr.editTextStyle); // Attention here ! } public PhoneEditText(