先上效果:
(忽略掉那个 FloatingActionButton …….路人乱入….)
同学问的一个问题,编辑子网掩码的时候不显示笔,否则显示.
他都要重写一个view了
….其实很简单..
然后他说:当得到焦点时 这个手机图片不会消失 这样写的话
然后改一下:就满足需求了:
final EditText mEditText = (EditText) findViewById(R.id.ed);
final Drawable drawable = getResources().getDrawable(R.mipmap.ic_launcher);
// 这一步必须要做,否则不会显示.
drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight());
mEditText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (count != 0) {
mEditText.setCompoundDrawables(null, null, null, null);
}
}
@Override
public void afterTextChanged(Editable s) {
if (TextUtils.isEmpty(s)) {
mEditText.setCompoundDrawables(drawable, null, null, null);
}
}
});
========================================
关键答案来自:使用代码为textview设置drawableLeft
正文:
我想在代码中改变drawable。
有什么方法可以使用代码为textview设置drawableLeft呢?
解决方案:
public void setCompoundDrawables (Drawable left, Drawable top, Drawable right, Drawable bottom);
类似调用方法如下:
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 (Drawable left,
Drawable top, Drawable right, Drawable bottom)