如何在EditTextView上使可见和不可见Drawable Left? [重复]

问题描述 投票:-1回答:2

这个问题在这里已有答案:

我在Stack中读过很多答案,但是没有一个能帮助我,所以请不要将它标记为Duplicate,我有EditText,当EditTextView中插入数据的长度变为等于时,我想让可见的drawable离开11。

java android android-edittext drawable
2个回答
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);
}

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


0
投票

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

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) { }

});
© www.soinside.com 2019 - 2024. All rights reserved.