欢迎来到天天文库
浏览记录
ID:33991083
大小:79.80 KB
页数:4页
时间:2019-03-03
《带图标的edittext》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、带图标的EditText本文介绍实现一个左边带有图标的输入框;效果类似微博的登录时候的输入框,左边有图标,在没有输入任何文字的时候,是灰色的,有文字的时候就变成不是灰色的。在布局中如果要使用一个自定义的输入框架,可以定义一个,然后在布局文件中引用,如下面的DrawableEditText。2、/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_marginLeft="20dp"android:layout_marginRight="20dp">3、ent"android:layout_centerInParent="true"imgRes="@drawable/phonenumber_click"nullImgRes="@drawable/phonenumber"/>接下来是自定义控件类的实现,从下面的代码可以看出,在上面设置的两个属性imgRes和nullImgRes是2个图片资源的id,在完成布局的解析后,即onFinishInflate,给EditText通过addTextChangedListener设置一个T4、extWatcher来监听是否有文字的输入,然后通过setDrawable来设置不同的图标。publicclassDrawableEditTextextendsRelativeLayout{privateContextmContext;privateEditTextmEditText;privateImageViewmImage;//文本框不为空图片资源privateintimgRes;//文本框为空图片资源privateintnullImgRes;publicDrawableEditText(Context5、context,AttributeSetattrs){super(context,attrs);this.mContext=context;init();//得到图片资源imgRes=attrs.getAttributeResourceValue(null,"imgRes",0);nullImgRes=attrs.getAttributeResourceValue(null,"nullImgRes",0);if(nullImgRes!=0){setDrawable();}//设置文字大小inttextSize6、=attrs.getAttributeResourceValue(null,"textSize",0);if(textSize!=0){mEditText.setTextSize(textSize);}//设置edittext的hint提示inthint=attrs.getAttributeResourceValue(null,"hint",0);if(hint!=0){mEditText.setHint(hint);}//设置文本颜色inttextColor=attrs.getAttributeResour7、ceValue(null,"textColor",0);if(textColor!=0){mEditText.setTextColor(textColor);}}//初始化布局和控件publicvoidinit(){LayoutInflaterinflater=LayoutInflater.from(mContext);Viewview=inflater.inflate(R.layout.drawable_edittext,this);mEditText=(EditText)view.findViewById8、(R.id.edittext);mImage=(ImageView)view.findViewById(R.id.image);}//根据文本框是否为空设置不同的图片privatevoidsetDrawable(){if(mEditText.getText().toString().equals("")){mImage.setImageResource(nullImgRes);}else{mImag
2、/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_marginLeft="20dp"android:layout_marginRight="20dp">3、ent"android:layout_centerInParent="true"imgRes="@drawable/phonenumber_click"nullImgRes="@drawable/phonenumber"/>接下来是自定义控件类的实现,从下面的代码可以看出,在上面设置的两个属性imgRes和nullImgRes是2个图片资源的id,在完成布局的解析后,即onFinishInflate,给EditText通过addTextChangedListener设置一个T4、extWatcher来监听是否有文字的输入,然后通过setDrawable来设置不同的图标。publicclassDrawableEditTextextendsRelativeLayout{privateContextmContext;privateEditTextmEditText;privateImageViewmImage;//文本框不为空图片资源privateintimgRes;//文本框为空图片资源privateintnullImgRes;publicDrawableEditText(Context5、context,AttributeSetattrs){super(context,attrs);this.mContext=context;init();//得到图片资源imgRes=attrs.getAttributeResourceValue(null,"imgRes",0);nullImgRes=attrs.getAttributeResourceValue(null,"nullImgRes",0);if(nullImgRes!=0){setDrawable();}//设置文字大小inttextSize6、=attrs.getAttributeResourceValue(null,"textSize",0);if(textSize!=0){mEditText.setTextSize(textSize);}//设置edittext的hint提示inthint=attrs.getAttributeResourceValue(null,"hint",0);if(hint!=0){mEditText.setHint(hint);}//设置文本颜色inttextColor=attrs.getAttributeResour7、ceValue(null,"textColor",0);if(textColor!=0){mEditText.setTextColor(textColor);}}//初始化布局和控件publicvoidinit(){LayoutInflaterinflater=LayoutInflater.from(mContext);Viewview=inflater.inflate(R.layout.drawable_edittext,this);mEditText=(EditText)view.findViewById8、(R.id.edittext);mImage=(ImageView)view.findViewById(R.id.image);}//根据文本框是否为空设置不同的图片privatevoidsetDrawable(){if(mEditText.getText().toString().equals("")){mImage.setImageResource(nullImgRes);}else{mImag
3、ent"android:layout_centerInParent="true"imgRes="@drawable/phonenumber_click"nullImgRes="@drawable/phonenumber"/>接下来是自定义控件类的实现,从下面的代码可以看出,在上面设置的两个属性imgRes和nullImgRes是2个图片资源的id,在完成布局的解析后,即onFinishInflate,给EditText通过addTextChangedListener设置一个T
4、extWatcher来监听是否有文字的输入,然后通过setDrawable来设置不同的图标。publicclassDrawableEditTextextendsRelativeLayout{privateContextmContext;privateEditTextmEditText;privateImageViewmImage;//文本框不为空图片资源privateintimgRes;//文本框为空图片资源privateintnullImgRes;publicDrawableEditText(Context
5、context,AttributeSetattrs){super(context,attrs);this.mContext=context;init();//得到图片资源imgRes=attrs.getAttributeResourceValue(null,"imgRes",0);nullImgRes=attrs.getAttributeResourceValue(null,"nullImgRes",0);if(nullImgRes!=0){setDrawable();}//设置文字大小inttextSize
6、=attrs.getAttributeResourceValue(null,"textSize",0);if(textSize!=0){mEditText.setTextSize(textSize);}//设置edittext的hint提示inthint=attrs.getAttributeResourceValue(null,"hint",0);if(hint!=0){mEditText.setHint(hint);}//设置文本颜色inttextColor=attrs.getAttributeResour
7、ceValue(null,"textColor",0);if(textColor!=0){mEditText.setTextColor(textColor);}}//初始化布局和控件publicvoidinit(){LayoutInflaterinflater=LayoutInflater.from(mContext);Viewview=inflater.inflate(R.layout.drawable_edittext,this);mEditText=(EditText)view.findViewById
8、(R.id.edittext);mImage=(ImageView)view.findViewById(R.id.image);}//根据文本框是否为空设置不同的图片privatevoidsetDrawable(){if(mEditText.getText().toString().equals("")){mImage.setImageResource(nullImgRes);}else{mImag
此文档下载收益归作者所有