怎么在Android中实现一个带清除按钮,密码可见的输入框

  介绍

这期内容当中小编将会给大家带来有关怎么在Android中实现一个带清除按钮,密码可见的输入框,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。


我的这个自带清除,小眼睛的控件,是一个自定义控件,控件名称ClearEditText.class,继承RelativeLayout并有布局引用。在拷贝到项目里面后,使用时候只需要与普通输入框控件一样,进行相关的配置即可,部分属性需要使用自定义属性,具体见代码。

二、使用步骤

, 1。拷贝ClearEditText.class

拷贝ClearEditText。类类到自己的项目里,再考拷贝它相关的布局文件,自定义属性,默认图片即可,下面贴出ClearEditText主要代码:

public  class  ClearEditText  extends  RelativeLayout  {   ,private  ImageView  ivLeftIcon;   ,private  EditText  myEdie;   ,private  ImageView  ivEditClean;   ,private  ImageView  ivEditEye;   ,private  boolean  isChecked =,真的;   ,private  Context  mContext;   ,private  TypedArray  mTypedArray;   ,private  boolean  showClean =,真的,//清空图标是否显示,真的:显示   ,private  boolean  showEye =,假;//密码可见图标是否显示,真的:显示   ,private  int  drawableLeft =, 1;//是否显示输入框左侧图片   ,private  int  drawableEyeOpen =, R.drawable.clear_icon_eye_open;//可以看见密码小眼睛样式   ,private  int  drawableEyeClose =, R.drawable.clear_icon_eye_close;//不可见密码小眼睛样式   ,private  int  drawableClean =, R.drawable.clear_icon_close;//清除按钮图片   ,private  int  cleanPadding =, 0;//清除按钮填充边距   ,private  String  hintStr;   ,private  String  textStr;   ,private  int  mTextColorHint =, Color.BLACK;   ,private  int  mTextColor =, Color.BLACK;   ,private  int  mTextSize =, 1;   ,private  int  mMaxLength =, 2000;   ,private  int  mMaxLines =, 1;   ,private  int  mInputType =, 0;//输入类型,就做了不限制,数字,文本密码三种   ,private  boolean  isInput =,假;//输入1个字符后更改状态为真的,保证小眼睛移动一次   ,private  boolean  isHideClean =,假;//输入字符后,清除了需要小眼睛归为,清除按钮隐藏   ,private  int  ivWidth =, 45;//关闭按钮的宽度      ,public  ClearEditText (Context 上下文),{   超级才能(上下文);=mContext 才能;环境;   initView才能();   ,}      ,public  ClearEditText (Context 上下文,AttributeSet  attrs,, int  defStyle), {   超级才能(上下文,attrs,, defStyle);=mContext 才能;环境;   时间=mTypedArray 才能;mContext.obtainStyledAttributes (R.styleable.myEditText attrs也);   initView才能();   ,}      ,public  ClearEditText (Context 上下文,AttributeSet  attrs), {   超级才能(上下文,attrs);=mContext 才能;环境;   时间=mTypedArray 才能;mContext.obtainStyledAttributes (R.styleable.myEditText attrs也);   时间=showClean 才能;mTypedArray.getBoolean (showClean R.styleable.myEditText_showClean也);   时间=drawableClean 才能;mTypedArray.getResourceId (drawableClean R.styleable.myEditText_drawableClean也);   时间=cleanPadding 才能;mTypedArray.getDimensionPixelSize (cleanPadding R.styleable.myEditText_cleanPadding也);      时间=showEye 才能;mTypedArray.getBoolean (showEye R.styleable.myEditText_showEye也);   时间=drawableLeft 才能;mTypedArray.getResourceId (R.styleable.myEditText_drawableLeft, 1);   时间=drawableEyeClose 才能;mTypedArray.getResourceId (drawableEyeClose R.styleable.myEditText_drawableEyeClose也);   时间=drawableEyeOpen 才能;mTypedArray.getResourceId (drawableEyeOpen R.styleable.myEditText_drawableEyeOpen也);      时间=hintStr 才能;mTypedArray.getString (R.styleable.myEditText_hint);   时间=textStr 才能;mTypedArray.getString (R.styleable.myEditText_text);   时间=mTextColorHint 才能;mTypedArray.getColor (mTextColorHint R.styleable.myEditText_textColorHint也);   时间=mTextColor 才能;mTypedArray.getColor (mTextColor R.styleable.myEditText_textColor也);   时间=mTextSize 才能;mTypedArray.getDimensionPixelSize (mTextSize R.styleable.myEditText_textSize也);   时间=mMaxLength 才能;mTypedArray.getInteger (mMaxLength R.styleable.myEditText_maxLength也);   时间=mMaxLines 才能;mTypedArray.getDimensionPixelSize (mMaxLines R.styleable.myEditText_maxLines也);   时间=mInputType 才能;mTypedArray.getInteger (mInputType R.styleable.myEditText_inputType也);      mTypedArray.recycle才能();   initView才能();   ,}      ,//初始化视图   ,private  void  initView (), {   View 才能;View =, View.inflate (getContext ()), R.layout.clear_layout_view,, null);   ivLeftIcon 才能=,(ImageView), view.findViewById (R.id.iv_edit_left_icon);   myEdie 才能=,(EditText), view.findViewById (R.id.view_edit_show);   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

怎么在Android中实现一个带清除按钮,密码可见的输入框