热门搜索 :
考研考公
您的当前位置:首页正文

(转)EditText hint带图片的提示

来源:东饰资讯网

项目中要使用到带图标hint的EditTexit,网上搜到该篇文章,特转来保存以供学习回顾。


先上效果:

(忽略掉那个 FloatingActionButton …….路人乱入….)

同学问的一个问题,编辑子网掩码的时候不显示笔,否则显示.

他都要重写一个view了

….其实很简单..

然后他说:当得到焦点时 这个手机图片不会消失 这样写的话

然后改一下:就满足需求了:

finalEditText mEditText = (EditText) findViewById(R.id.ed);finalDrawable drawable = getResources().getDrawable(R.mipmap.ic_launcher);// 这一步必须要做,否则不会显示.drawable.setBounds(0,0, drawable.getMinimumWidth(), drawable.getMinimumHeight());

mEditText.addTextChangedListener(newTextWatcher() {@OverridepublicvoidbeforeTextChanged(CharSequence s,intstart,intcount,intafter) {

}@OverridepublicvoidonTextChanged(CharSequence s,intstart,intbefore,intcount) {if(count !=0) {

mEditText.setCompoundDrawables(null,null,null,null);

}

}@OverridepublicvoidafterTextChanged(Editable s) {if(TextUtils.isEmpty(s)) {

mEditText.setCompoundDrawables(drawable,null,null,null);

}

}

});

========================================

正文:

我想在代码中改变drawable。

有什么方法可以使用代码为textview设置drawableLeft呢?

解决方案:

publicvoidsetCompoundDrawables(Drawable left, Drawable top, Drawable right, Drawable bottom);

1

类似调用方法如下:

1.在XML中使用

android:drawableLeft=”@drawable/icon”

2.代码中动态变化

Drawable drawable= getResources().getDrawable(R.drawable.drawable);/// 这一步必须要做,否则不会显示.drawable.setBounds(0,0, drawable.getMinimumWidth(), drawable.getMinimumHeight());myTextview.setCompoundDrawables(drawable,null,null,null);

也或参考另一个函数

public void setCompoundDrawablesWithIntrinsicBounds (Drawableleft,Drawabletop, Drawableright, Drawablebottom)

Top