自定义带有删除功能的edittext实例,在登录,搜索等地方经常用到可以直接用
2016-11-03 17:33
369 查看
package com.sunday.customs; import com.example.customs.R; import android.content.Context; import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.text.Editable; import android.text.TextWatcher; import android.util.AttributeSet; import android.util.Log; import android.view.MotionEvent; import android.widget.EditText; /** * @author sunday * 2013-12-04 */ public class EditTextWithDel extends EditText { private final static String TAG = "EditTextWithDel"; private Drawable imgInable; private Drawable imgAble; private Context mContext; public EditTextWithDel(Context context) { super(context); mContext = context; init(); } public EditTextWithDel(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); mContext = context; init(); } public EditTextWithDel(Context context, AttributeSet attrs) { super(context, attrs); mContext = context; init(); } private void init() { imgInable = mContext.getResources().getDrawable(R.drawable.delete_gray); imgAble = mContext.getResources().getDrawable(R.drawable.delete); addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) {} @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) {} @Override public void afterTextChanged(Editable s) { setDrawable(); } }); setDrawable(); } //设置删除图片 private void setDrawable() { if(length() < 1) setCompoundDrawablesWithIntrinsicBounds(null, null, imgInable, null); else setCompoundDrawablesWithIntrinsicBounds(null, null, imgAble, null); } // 处理删除事件 @Override public boolean onTouchEvent(MotionEvent event) { if (imgAble != null && event.getAction() == MotionEvent.ACTION_UP) { int eventX = (int) event.getRawX(); int eventY = (int) event.getRawY(); Log.e(TAG, "eventX = " + eventX + "; eventY = " + eventY); Rect rect = new Rect(); getGlobalVisibleRect(rect); rect.left = rect.right - 50; if(rect.contains(eventX, eventY)) setText(""); } return super.onTouchEvent(event); } @Override protected void finalize() throws Throwable { super.finalize(); } }
package com.sunday.customs;
import com.example.customs.R;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
相关文章推荐
- 自定义带有删除功能的edittext实例,在登录,搜索等地方经常用到可以直接用
- 自带删除功能的输入框——在登录,搜索等地方经常用到可以直接用
- Android 实现自定义自带删除按钮的EditText(带有搜索接口)
- XEditText:带删除功能的EditText;可设置自动添加分隔符分割电话号码、银行卡号等;支持禁止Emoji表情符号输入;自定义右边显示图标作功能选项;仿iOS输入框风格
- 自定义Android的EditText实现仿淘宝登录功能
- Android自定义View带有删除按钮的EditText
- 自定义View——EditText(带删除功能得EditText)
- 自定义带有删除按钮的EditText,并判断用户是否输入完成
- Android自定义View之自定义EditText(添加删除功能)
- Android 笔记:android自定义View之自定义EditText(添加删除功能)
- Android自定义EditText实现淘宝登录功能
- Android自定义View带有删除按钮的EditText
- android自定义View之自定义EditText(添加删除功能)
- 自定义EditText—带有清除功能,在显示多行文本时清除按钮位于整个EditText的右下角
- Android自定义组合控件--EditText和Button组合成带有清空EditText内容功能的复合控件
- android自定义View之自定义EditText(添加删除功能)
- android自定义View(一):扩展方式(继承)带有预置数据 和 删除键的自定义EditText
- 自定义EditText,带有搜索图片的EditText
- Android自定义搜索框(EditText)的搜索功能实现,过滤ListView
- 写一个system.data.entity的simpledatarepo,实现crudq这些功能,不需要引入entityframework,直接可以使用,用到objectset