小编Vla*_*ker的帖子

如何从edittext中的drawable中删除色调?

美好的一天.我有一个问题.我将EditText drawable的颜色更改为焦点,并在焦点更改时将其更改为默认颜色.一切都很好,直到支持库更新(这是我的假设)现在,drawable的颜色不会切换回正常.感谢大家提前=)

这是我的代码:

@Override
public Drawable setTint(Drawable d, int color) {
    Drawable wrappedDrawable = DrawableCompat.wrap(d);
    DrawableCompat.setTint(wrappedDrawable, color);
    return wrappedDrawable;
}

@Override
public void setEditTextDrawables(final EditText editText, final int drawable) {
    editText.setCompoundDrawablesWithIntrinsicBounds(drawable, 0, 0, 0);
    editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
        @Override
        public void onFocusChange(View view, boolean b) {
            if (b){
                Drawable icon = getResources().getDrawable(drawable);
                editText.setCompoundDrawablesWithIntrinsicBounds(setTint(icon,
                        getResources().getColor(R.color.colorAccent)), null, null, null);
            }else if (!b){
                Drawable icon = getResources().getDrawable(drawable);
                editText.setCompoundDrawablesWithIntrinsicBounds(setTint(icon,
                        getResources().getColor(R.color.colorGreyIcon)), null, null, null);
            }
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

这是应用程序的屏幕:

在此输入图像描述

在此输入图像描述

android android-edittext android-support-library android-drawable

4
推荐指数
2
解决办法
3764
查看次数