如何在EditTextView上使可见和不可见Drawable Left?

时间:2018-05-17 10:11:17

标签: java android android-edittext drawable

我在Stack中已经阅读了很多答案,但没有一个能帮助我,所以请不要将其标记为重复,我有EditText,我想让左边可见的绘图当EditTextView中插入数据的长度变为等于11时。

2 个答案:

答案 0 :(得分:0)

您可以使用setCompoundDrawables方法执行此操作:

Drawable img = getContext().getResources().getDrawable(R.drawable.add_more);
img.setBounds(0, 0, 60, 60);
edittext.setCompoundDrawables(img, null, null, null);

if (edittext.lenght == 11) {
    img.setVisible(false, false);
}

我希望它会对你有所帮助!

答案 1 :(得分:0)

如果你想在用户输入时留下可见/不可见的抽奖,那么这样做:

EditText et = (EditText)view.findViewById(R.id.edt);
et.addTextChangedListener(new TextWatcher() {

    @Override
    public void afterTextChanged(Editable editable) {
        if(editable.length() >= 11){
            // visible
            et.setCompoundDrawablesWithIntrinsicBounds(R.drawable.your_icon, 0, 0, 0);
        }
        else {
            // hide
            et.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
        }
    }

    @Override
    public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { }

    @Override
    public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { }

});