ColorEditText

来源:互联网 发布:云朵课堂下载软件 编辑:程序博客网 时间:2024/05/23 22:58

public class ColorEditText extends EditText {    public ColorEditText(Context context) {        super(context);    }    //    public ColorEditText(Context context, AttributeSet attrs) {        super(context, attrs);        ColorDrawable originalBg = (ColorDrawable) getBackground();        if (originalBg == null) {            return;        }        final int cornerRadius = dp2px(context, 2);        final int strokeWidth = dp2px(context, 1.5f);        final int strokeColorDefault = Color.LTGRAY;        final int strokeColorFocus = originalBg.getColor();        GradientDrawable defaultL = new GradientDrawable();        defaultL.setCornerRadius(cornerRadius);        defaultL.setColor(Color.WHITE);        defaultL.setStroke(strokeWidth, strokeColorDefault);        GradientDrawable focused = new GradientDrawable();        focused.setCornerRadius(cornerRadius);        focused.setColor(Color.WHITE);        focused.setStroke(strokeWidth, strokeColorFocus);        // EditText 使用 focus        StateListDrawable background = new StateListDrawable();        background.addState(new int[]{-android.R.attr.state_focused}, defaultL);        background.addState(new int[]{android.R.attr.state_focused}, focused);        setBackground(background);    }    //    protected int dp2px(Context context, float dp) {        final float scale = context.getResources().getDisplayMetrics().density;        return (int) (dp * scale + 0.5f);    }}


0 0
原创粉丝点击