首先看看效果
如上图的密码输入框,没有密码时,有几个密码就有几条下划线,输入密码后显示的内容为“*”,并且底部就没有下划线了,同样有很多方式实现,这里就偷懒改改EditText来实现,所以需要做的就是画线、画“*”,代码很简单,偷懒也没有写attr,属性直接初始化写死了。这个思路同样适用于那些内容区域是方框的密码输入,就是画线和画矩形的区别。
public class PasswordUnderLineEditText extends EditText {
public interface TextIndexChangeListener {
void onTextIndexChange(CharSequence text, int index);
}
private TextIndexChangeListener mTextIndexChangeListener;
@ColorInt
private int lineColor;
private int lineCount;
private int lineMargin;
private int lineHeight;
private int linePaddingBottom;
private String changedText;
private int changedTextSize;