相信大家都用过android自带的SearchView,至于疗效如何相信用过的人都知道。既然自带的搜索框疗效不足,那我们就来自己定义。本篇文章是在EditText上给大家自定义搜索框,并且带了搜索图标,清除图标,语音图标。
按照国际惯例,先给大家上最后的效果图:
输入值后:
接下来我们来看看到底是如何自定义EditTextSearch的:
public class EditTextSearch extends AppCompatEditText {
/**
* 步骤1:定义左侧搜索图标 & 一键删除图标 & 语音图标
*/
private Drawable clearDrawable,searchDrawable,voiceDrawable;
private Context context;
private boolean isShowClear;
public EditTextSearch(Context context) {
super(context);
this.context = context;
init();
// 初始化该组件时,对EditText_Clear进行初始化 ->>步骤2
}
public EditTextSearch(Context context, AttributeSet attrs) {
super(context, attrs);
this.context = context;
init();
}
public EditTextSearch(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
this.context = context;
init();
}
/**
* 步骤2:初始化 图标资源
*/
private void init() {
clearDrawable = getResources().getDrawable(R.drawable.delete_icon);
sea