在EditText的使用中,如登录页面的输入框,经常会给EditText设置drawableLeft,即添加左侧图片,但却没有属性对这个图片大小进行控制,只能靠图片自身的分辨率来控制大小。可这时就出现一个问题,想要图片大小适合,分辨率就要低,清晰度感人,但如果想要高清晰度,即分辨率高,图片就很大,完全不适合。
解决办法如下:
在activity中,设置drawable大小:
Drawable leftDrawable = edittext.getCompoundDrawables()[0];
if(leftDrawable!=null){
leftDrawable.setBounds(0, 0, 60, 60);
edittext.setCompoundDrawables(leftDrawable, edittext.getCompoundDrawables()[1], edittext.getCompoundDrawables()[2], edittext.getCompoundDrawables()[3]);
}
需要注意的是,setbounds(x0,y0,x1,y1)的参数分别是:x0——图片左边缘距左方物体距离、y0——上边缘距上方物体距离、x1——右边缘距左方物体距离、y1——下边缘距上方物体距离,这里的单位是像素px。