您好,欢迎来到伴沃教育。
搜索
您的当前位置:首页(转)EditText hint带图片的提示

(转)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)

Copyright © 2019- bangwoyixia.com 版权所有 湘ICP备2023022004号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务