public class ClearEditText
extends AppCompatEditText
implements android.view.View.OnFocusChangeListener, android.text.TextWatcher
| Constructor and Description |
|---|
ClearEditText(android.content.Context context) |
ClearEditText(android.content.Context context,
android.util.AttributeSet attrs) |
ClearEditText(android.content.Context context,
android.util.AttributeSet attrs,
int defStyle) |
| Modifier and Type | Method and Description |
|---|---|
void |
afterTextChanged(android.text.Editable s) |
void |
beforeTextChanged(java.lang.CharSequence s,
int start,
int count,
int after) |
void |
onFocusChange(android.view.View v,
boolean hasFocus)
当ClearEditText焦点发生变化的时候,判断里面字符串长度设置清除图标的显示与隐藏
|
void |
onTextChanged(java.lang.CharSequence s,
int start,
int count,
int after)
当输入框里面内容发生变化的时候回调的方法
|
boolean |
onTouchEvent(android.view.MotionEvent event)
因为我们不能直接给EditText设置点击事件,所以我们用记住我们按下的位置来模拟点击事件
当我们按下的位置 在 EditText的宽度 - 图标到控件右边的间距 - 图标的宽度 和
EditText的宽度 - 图标到控件右边的间距之间我们就算点击了图标,竖直方向没有考虑
|
protected void |
setClearIconVisible(boolean visible)
设置清除图标的显示与隐藏,调用setCompoundDrawables为EditText绘制上去
|
ClearEditText |
setExtraClickAreaSize(int extraClickArea) |
void |
setShakeAnimation()
设置晃动动画
|
void |
setText(java.lang.CharSequence text,
BufferType type) |
static android.view.animation.Animation |
shakeAnimation(int counts)
晃动动画
|
public ClearEditText(android.content.Context context)
public ClearEditText(android.content.Context context,
android.util.AttributeSet attrs)
public ClearEditText(android.content.Context context,
android.util.AttributeSet attrs,
int defStyle)
public ClearEditText setExtraClickAreaSize(int extraClickArea)
public static android.view.animation.Animation shakeAnimation(int counts)
counts - 1秒钟晃动多少下public boolean onTouchEvent(android.view.MotionEvent event)
public void onFocusChange(android.view.View v,
boolean hasFocus)
onFocusChange in interface android.view.View.OnFocusChangeListenerprotected void setClearIconVisible(boolean visible)
visible - public void onTextChanged(java.lang.CharSequence s,
int start,
int count,
int after)
onTextChanged in interface android.text.TextWatcherpublic void beforeTextChanged(java.lang.CharSequence s,
int start,
int count,
int after)
beforeTextChanged in interface android.text.TextWatcherpublic void afterTextChanged(android.text.Editable s)
afterTextChanged in interface android.text.TextWatcherpublic void setText(java.lang.CharSequence text,
BufferType type)
public void setShakeAnimation()