package me.pagar; import android.content.Context; import android.content.res.TypedArray; import android.text.TextWatcher; import android.util.AttributeSet; import android.util.TypedValue; import android.view.LayoutInflater; import android.view.View; import android.view.inputmethod.EditorInfo; import android.widget.EditText; import android.widget.FrameLayout; public class EditTextShadow extends FrameLayout { private int textColor; private int hintColor; private int inputType; private float textSize; private String hint; private EditText editText; public EditTextShadow(Context context) { this(context, null); } public EditTextShadow(Context context, AttributeSet attrs) { this(context, attrs, 0); } public EditTextShadow(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); initView(attrs); } private void initView(AttributeSet attributeSet) { TypedArray a = getContext().obtainStyledAttributes(attributeSet, R.styleable.EditTextPagarMe); if(a != null) { inputType = a.getInt(R.styleable.EditTextPagarMe_android_inputType, EditorInfo.TYPE_TEXT_VARIATION_NORMAL); textSize = a.getDimensionPixelSize(R.styleable.EditTextPagarMe_android_textSize, 0); textColor = a.getColor(R.styleable.EditTextPagarMe_android_textColor, 0); hint = a.getString(R.styleable.EditTextPagarMe_android_hint); hintColor = a.getColor(R.styleable.EditTextPagarMe_android_textColorHint, 0); a.recycle(); } } @Override protected void onFinishInflate() { super.onFinishInflate(); addViewAndInit(); } private void addViewAndInit() { View view = LayoutInflater.from(getContext()).inflate(R.layout.edit_text_pagarme, null); editText = (EditText) view.findViewById(R.id.edit_text); addView(view); configView(); } private void configView() { if(textSize > 0) { editText.setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize); } if(textColor > 0) { editText.setTextColor(textColor); } if(hint != null) { editText.setHint(hint); } if(hintColor > 0) { editText.setHintTextColor(hintColor); } if(inputType > 0) { editText.setInputType(inputType); } } public void addTextChangedListener(TextWatcher textWatcher) { editText.addTextChangedListener(textWatcher); } public void setOnFocusChangeListener(OnFocusChangeListener onFocusChangedListener) { editText.setOnFocusChangeListener(onFocusChangedListener); } }