List of usage examples for android.content.res TypedArray getDimensionPixelSize
public int getDimensionPixelSize(@StyleableRes int index, int defValue)
From source file:com.awrtechnologies.carbudgetsales.hlistview.widget.HListView.java
public HListView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); if (LOG_ENABLED) { Log.i(LOG_TAG, "defStyle: " + defStyle); }/* w ww. j av a 2s . c om*/ final Resources.Theme theme = context.getTheme(); TypedArray array = theme.obtainStyledAttributes(attrs, R.styleable.HListView, defStyle, 0); CharSequence[] entries = null; Drawable dividerDrawable = null; Drawable overscrollHeader = null; Drawable overscrollFooter = null; int dividerWidth = 0; boolean headerDividersEnabled = true; boolean footerDividersEnabled = true; int measureWithChild = -1; if (null != array) { entries = array.getTextArray(R.styleable.HListView_android_entries); dividerDrawable = array.getDrawable(R.styleable.HListView_android_divider); overscrollHeader = array.getDrawable(R.styleable.HListView_hlv_overScrollHeader); overscrollFooter = array.getDrawable(R.styleable.HListView_hlv_overScrollFooter); dividerWidth = array.getDimensionPixelSize(R.styleable.HListView_hlv_dividerWidth, 0); headerDividersEnabled = array.getBoolean(R.styleable.HListView_hlv_headerDividersEnabled, true); footerDividersEnabled = array.getBoolean(R.styleable.HListView_hlv_footerDividersEnabled, true); measureWithChild = array.getInteger(R.styleable.HListView_hlv_measureWithChild, -1); array.recycle(); if (LOG_ENABLED) { Log.d(LOG_TAG, "divider: " + dividerDrawable); Log.d(LOG_TAG, "overscrollHeader: " + overscrollHeader); Log.d(LOG_TAG, "overscrollFooter: " + overscrollFooter); Log.d(LOG_TAG, "dividerWith: " + dividerWidth); Log.d(LOG_TAG, "headerDividersEnabled: " + headerDividersEnabled); Log.d(LOG_TAG, "footerDividersEnabled: " + footerDividersEnabled); Log.d(LOG_TAG, "measureWithChild: " + measureWithChild); } } if (entries != null) { setAdapter(new ArrayAdapter<CharSequence>(context, android.R.layout.simple_list_item_1, entries)); } if (dividerDrawable != null) { // If a divider is specified use its intrinsic height for divider height setDivider(dividerDrawable); } if (overscrollHeader != null) { setOverscrollHeader(overscrollHeader); } if (overscrollFooter != null) { setOverscrollFooter(overscrollFooter); } // Use the height specified, zero being the default if (dividerWidth != 0) { setDividerWidth(dividerWidth); } mHeaderDividersEnabled = headerDividersEnabled; mFooterDividersEnabled = footerDividersEnabled; mMeasureWithChild = measureWithChild; }
From source file:com.liu.hz.view.HorizontalListView.java
public HorizontalListView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.ListView, defStyle, 0); CharSequence[] entries = a.getTextArray(R.styleable.ListView_android_entries); if (entries != null) { setAdapter(new ArrayAdapter<CharSequence>(context, android.R.layout.simple_list_item_1, entries)); }//from ww w . j av a 2 s . c om final Drawable d = a.getDrawable(R.styleable.ListView_divider); if (d != null) { // If a divider is specified use its intrinsic width for divider width setDivider(d); } final Drawable osHeader = a.getDrawable(R.styleable.ListView_overScrollHeader); if (osHeader != null) { setOverscrollHeader(osHeader); } final Drawable osFooter = a.getDrawable(R.styleable.ListView_overScrollFooter); if (osFooter != null) { setOverscrollFooter(osFooter); } // Use the width specified, zero being the default final int dividerHeight = a.getDimensionPixelSize(R.styleable.ListView_dividerHeight, 0); if (dividerHeight != 0) { setDividerWidth(dividerHeight); } mHeaderDividersEnabled = a.getBoolean(R.styleable.ListView_headerDividersEnabled, true); mFooterDividersEnabled = a.getBoolean(R.styleable.ListView_footerDividersEnabled, true); a.recycle(); }
From source file:com.appunite.list.HorizontalListView.java
public HorizontalListView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.ListView, defStyle, 0); CharSequence[] entries = a.getTextArray(R.styleable.ListView_android_entries); if (entries != null) { setAdapter(new ArrayAdapter<CharSequence>(context, android.R.layout.simple_list_item_1, entries)); }// w w w . j a v a 2 s .com final Drawable d = a.getDrawable(R.styleable.ListView_android_divider); if (d != null) { // If a divider is specified use its intrinsic width for divider width setDivider(d); } final Drawable osHeader = a.getDrawable(R.styleable.ListView_overScrollHeader); if (osHeader != null) { setOverscrollHeader(osHeader); } final Drawable osFooter = a.getDrawable(R.styleable.ListView_overScrollFooter); if (osFooter != null) { setOverscrollFooter(osFooter); } // Use the width specified, zero being the default final int dividerHeight = a.getDimensionPixelSize(R.styleable.ListView_android_dividerHeight, 0); if (dividerHeight != 0) { setDividerWidth(dividerHeight); } mHeaderDividersEnabled = a.getBoolean(R.styleable.ListView_headerDividersEnabled, true); mFooterDividersEnabled = a.getBoolean(R.styleable.ListView_footerDividersEnabled, true); a.recycle(); }
From source file:com.common.widget.hzlib.HorizontalListView.java
public HorizontalListView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.ListView, defStyle, 0); CharSequence[] entries = a.getTextArray(R.styleable.ListView_android_entries); if (entries != null) { setAdapter(new ArrayAdapter<CharSequence>(context, android.R.layout.simple_list_item_1, entries)); }// ww w. j ava2 s . c om final Drawable d = a.getDrawable(R.styleable.ListView_android_divider); if (d != null) { // If a divider is specified use its intrinsic width for divider width setDivider(d); } final Drawable osHeader = a.getDrawable(R.styleable.ListView_overScrollHeader); if (osHeader != null) { setOverscrollHeader(osHeader); } final Drawable osFooter = a.getDrawable(R.styleable.ListView_overScrollFooter); if (osFooter != null) { setOverscrollFooter(osFooter); } // Use the width specified, zero being the default final int dividerHeight = a.getDimensionPixelSize(R.styleable.ListView_dividerHeight, 0); if (dividerHeight != 0) { setDividerWidth(dividerHeight); } mHeaderDividersEnabled = a.getBoolean(R.styleable.ListView_headerDividersEnabled, true); mFooterDividersEnabled = a.getBoolean(R.styleable.ListView_footerDividersEnabled, true); a.recycle(); }
From source file:com.liu.hz.view.ListView.java
public ListView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.ListView, defStyle, 0); CharSequence[] entries = a.getTextArray(R.styleable.ListView_android_entries); if (entries != null) { setAdapter(new ArrayAdapter<CharSequence>(context, android.R.layout.simple_list_item_1, entries)); }/* www .ja v a 2 s. c om*/ final Drawable d = a.getDrawable(R.styleable.ListView_divider); if (d != null) { // If a divider is specified use its intrinsic width for divider width setDivider(d); } final Drawable osHeader = a.getDrawable(R.styleable.ListView_overScrollHeader); if (osHeader != null) { setOverscrollHeader(osHeader); } final Drawable osFooter = a.getDrawable(R.styleable.ListView_overScrollFooter); if (osFooter != null) { setOverscrollFooter(osFooter); } // Use the width specified, zero being the default final int dividerHeight = a.getDimensionPixelSize(R.styleable.ListView_dividerHeight, 0); if (dividerHeight != 0) { setDividerHeight(dividerHeight); } mHeaderDividersEnabled = a.getBoolean(R.styleable.ListView_headerDividersEnabled, true); mFooterDividersEnabled = a.getBoolean(R.styleable.ListView_footerDividersEnabled, true); a.recycle(); }
From source file:com.appunite.list.ListView.java
public ListView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.ListView, defStyle, 0); CharSequence[] entries = a.getTextArray(R.styleable.ListView_android_entries); if (entries != null) { setAdapter(new ArrayAdapter<CharSequence>(context, android.R.layout.simple_list_item_1, entries)); }/*from w w w . j av a2s. co m*/ final Drawable d = a.getDrawable(R.styleable.ListView_android_divider); if (d != null) { // If a divider is specified use its intrinsic width for divider width setDivider(d); } final Drawable osHeader = a.getDrawable(R.styleable.ListView_overScrollHeader); if (osHeader != null) { setOverscrollHeader(osHeader); } final Drawable osFooter = a.getDrawable(R.styleable.ListView_overScrollFooter); if (osFooter != null) { setOverscrollFooter(osFooter); } // Use the width specified, zero being the default final int dividerHeight = a.getDimensionPixelSize(R.styleable.ListView_android_dividerHeight, 0); if (dividerHeight != 0) { setDividerHeight(dividerHeight); } mHeaderDividersEnabled = a.getBoolean(R.styleable.ListView_headerDividersEnabled, true); mFooterDividersEnabled = a.getBoolean(R.styleable.ListView_footerDividersEnabled, true); a.recycle(); }
From source file:com.common.widget.hzlib.ListView.java
public ListView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.ListView, defStyle, 0); CharSequence[] entries = a.getTextArray(R.styleable.ListView_android_entries); if (entries != null) { setAdapter(new ArrayAdapter<CharSequence>(context, android.R.layout.simple_list_item_1, entries)); }/*from w w w. j a v a 2s. c o m*/ final Drawable d = a.getDrawable(R.styleable.ListView_android_divider); if (d != null) { // If a divider is specified use its intrinsic width for divider width setDivider(d); } final Drawable osHeader = a.getDrawable(R.styleable.ListView_overScrollHeader); if (osHeader != null) { setOverscrollHeader(osHeader); } final Drawable osFooter = a.getDrawable(R.styleable.ListView_overScrollFooter); if (osFooter != null) { setOverscrollFooter(osFooter); } // Use the width specified, zero being the default final int dividerHeight = a.getDimensionPixelSize(R.styleable.ListView_dividerHeight, 0); if (dividerHeight != 0) { setDividerHeight(dividerHeight); } mHeaderDividersEnabled = a.getBoolean(R.styleable.ListView_headerDividersEnabled, true); mFooterDividersEnabled = a.getBoolean(R.styleable.ListView_footerDividersEnabled, true); a.recycle(); }
From source file:com.albedinsky.android.ui.widget.SeekBarWidget.java
/** * Called from one of constructors of this view to perform its initialization. * <p>//from w w w. j a v a 2 s . c o m * Initialization is done via parsing of the specified <var>attrs</var> set and obtaining for * this view specific data from it that can be used to configure this new view instance. The * specified <var>defStyleAttr</var> and <var>defStyleRes</var> are used to obtain default data * from the current theme provided by the specified <var>context</var>. */ @SuppressWarnings("ConstantConditions") private void init(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { this.ensureRect(); this.ensureDecorator(); mDecorator.processAttributes(context, attrs, defStyleAttr, defStyleRes); this.mAnimations = Animations.get(this); /** * Process attributes. */ final TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.Ui_SeekBar, defStyleAttr, defStyleRes); if (typedArray != null) { final Rect indicatorTextPadding = new Rect(); final int n = typedArray.getIndexCount(); for (int i = 0; i < n; i++) { final int index = typedArray.getIndex(i); if (index == R.styleable.Ui_SeekBar_android_enabled) { setEnabled(typedArray.getBoolean(index, true)); } else if (index == R.styleable.Ui_SeekBar_uiDiscrete) { setDiscrete(typedArray.getBoolean(index, false)); } else if (index == R.styleable.Ui_SeekBar_uiDiscretePreviewEnabled) { setDiscretePreviewEnabled(typedArray.getBoolean(index, true)); } else if (index == R.styleable.Ui_SeekBar_uiDiscreteIntervalRatio) { setDiscreteIntervalRatio(typedArray.getFloat(index, mDiscreteIntervalRatio)); } else if (index == R.styleable.Ui_SeekBar_uiDiscreteIndicator) { setDiscreteIndicator(typedArray.getResourceId(index, 0)); } else if (index == R.styleable.Ui_SeekBar_uiDiscreteIndicatorTextAppearance) { setDiscreteIndicatorTextAppearance(typedArray.getResourceId(index, 0)); } else if (index == R.styleable.Ui_SeekBar_uiDiscreteIndicatorTextGravity) { setDiscreteIndicatorTextGravity( typedArray.getInteger(index, DISCRETE_INDICATOR_TEXT_INFO.gravity)); } else if (index == R.styleable.Ui_SeekBar_uiDiscreteIndicatorTextPaddingStart) { indicatorTextPadding.left = typedArray.getDimensionPixelSize(index, 0); } else if (index == R.styleable.Ui_SeekBar_uiDiscreteIndicatorTextPaddingTop) { indicatorTextPadding.top = typedArray.getDimensionPixelSize(index, 0); } else if (index == R.styleable.Ui_SeekBar_uiDiscreteIndicatorTextPaddingEnd) { indicatorTextPadding.right = typedArray.getDimensionPixelSize(index, 0); } else if (index == R.styleable.Ui_SeekBar_uiDiscreteIndicatorTextPaddingBottom) { indicatorTextPadding.bottom = typedArray.getDimensionPixelSize(index, 0); } else if (index == R.styleable.Ui_SeekBar_uiDiscreteIntervalTickMarkColor) { setDiscreteIntervalTickMarkColor(typedArray.getColorStateList(index)); } else if (index == R.styleable.Ui_SeekBar_uiDiscreteIntervalTickMarkRadius) { setDiscreteIntervalTickMarkRadius(typedArray.getDimensionPixelSize(index, 0)); } } setDiscreteIndicatorTextPadding(indicatorTextPadding.left, indicatorTextPadding.top, indicatorTextPadding.right, indicatorTextPadding.bottom); typedArray.recycle(); } this.applyProgressTints(); this.applyThumbTint(); }
From source file:com.github.shareme.gwsmaterialuikit.library.material.widget.EditText.java
@Override protected void applyStyle(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super.applyStyle(context, attrs, defStyleAttr, defStyleRes); CharSequence text = mInputView == null ? null : mInputView.getText(); removeAllViews();/* w ww . jav a2 s.c om*/ TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.EditText, defStyleAttr, defStyleRes); int labelPadding = -1; int labelTextSize = -1; ColorStateList labelTextColor = null; int supportPadding = -1; int supportTextSize = -1; ColorStateList supportColors = null; ColorStateList supportErrorColors = null; String supportHelper = null; String supportError = null; ColorStateList dividerColors = null; ColorStateList dividerErrorColors = null; int dividerHeight = -1; int dividerPadding = -1; int dividerAnimDuration = -1; mAutoCompleteMode = a.getInteger(R.styleable.EditText_et_autoCompleteMode, mAutoCompleteMode); if (needCreateInputView(mAutoCompleteMode)) { switch (mAutoCompleteMode) { case AUTOCOMPLETE_MODE_SINGLE: mInputView = new InternalAutoCompleteTextView(context, attrs, defStyleAttr); break; case AUTOCOMPLETE_MODE_MULTI: mInputView = new InternalMultiAutoCompleteTextView(context, attrs, defStyleAttr); break; default: mInputView = new InternalEditText(context, attrs, defStyleAttr); break; } ViewUtil.applyFont(mInputView, attrs, defStyleAttr, defStyleRes); if (text != null) mInputView.setText(text); mInputView.addTextChangedListener(new InputTextWatcher()); if (mDivider != null) { mDivider.setAnimEnable(false); ViewUtil.setBackground(mInputView, mDivider); mDivider.setAnimEnable(true); } } else ViewUtil.applyStyle(mInputView, attrs, defStyleAttr, defStyleRes); mInputView.setVisibility(View.VISIBLE); mInputView.setFocusableInTouchMode(true); for (int i = 0, count = a.getIndexCount(); i < count; i++) { int attr = a.getIndex(i); if (attr == R.styleable.EditText_et_labelEnable) mLabelEnable = a.getBoolean(attr, false); else if (attr == R.styleable.EditText_et_labelPadding) labelPadding = a.getDimensionPixelSize(attr, 0); else if (attr == R.styleable.EditText_et_labelTextSize) labelTextSize = a.getDimensionPixelSize(attr, 0); else if (attr == R.styleable.EditText_et_labelTextColor) labelTextColor = a.getColorStateList(attr); else if (attr == R.styleable.EditText_et_labelTextAppearance) getLabelView().setTextAppearance(context, a.getResourceId(attr, 0)); else if (attr == R.styleable.EditText_et_labelEllipsize) { int labelEllipsize = a.getInteger(attr, 0); switch (labelEllipsize) { case 1: getLabelView().setEllipsize(TruncateAt.START); break; case 2: getLabelView().setEllipsize(TruncateAt.MIDDLE); break; case 3: getLabelView().setEllipsize(TruncateAt.END); break; case 4: getLabelView().setEllipsize(TruncateAt.MARQUEE); break; default: getLabelView().setEllipsize(TruncateAt.END); break; } } else if (attr == R.styleable.EditText_et_labelInAnim) mLabelInAnimId = a.getResourceId(attr, 0); else if (attr == R.styleable.EditText_et_labelOutAnim) mLabelOutAnimId = a.getResourceId(attr, 0); else if (attr == R.styleable.EditText_et_supportMode) mSupportMode = a.getInteger(attr, 0); else if (attr == R.styleable.EditText_et_supportPadding) supportPadding = a.getDimensionPixelSize(attr, 0); else if (attr == R.styleable.EditText_et_supportTextSize) supportTextSize = a.getDimensionPixelSize(attr, 0); else if (attr == R.styleable.EditText_et_supportTextColor) supportColors = a.getColorStateList(attr); else if (attr == R.styleable.EditText_et_supportTextErrorColor) supportErrorColors = a.getColorStateList(attr); else if (attr == R.styleable.EditText_et_supportTextAppearance) getSupportView().setTextAppearance(context, a.getResourceId(attr, 0)); else if (attr == R.styleable.EditText_et_supportEllipsize) { int supportEllipsize = a.getInteger(attr, 0); switch (supportEllipsize) { case 1: getSupportView().setEllipsize(TruncateAt.START); break; case 2: getSupportView().setEllipsize(TruncateAt.MIDDLE); break; case 3: getSupportView().setEllipsize(TruncateAt.END); break; case 4: getSupportView().setEllipsize(TruncateAt.MARQUEE); break; default: getSupportView().setEllipsize(TruncateAt.END); break; } } else if (attr == R.styleable.EditText_et_supportMaxLines) getSupportView().setMaxLines(a.getInteger(attr, 0)); else if (attr == R.styleable.EditText_et_supportLines) getSupportView().setLines(a.getInteger(attr, 0)); else if (attr == R.styleable.EditText_et_supportSingleLine) getSupportView().setSingleLine(a.getBoolean(attr, false)); else if (attr == R.styleable.EditText_et_supportMaxChars) mSupportMaxChars = a.getInteger(attr, 0); else if (attr == R.styleable.EditText_et_helper) supportHelper = a.getString(attr); else if (attr == R.styleable.EditText_et_error) supportError = a.getString(attr); else if (attr == R.styleable.EditText_et_inputId) mInputView.setId(a.getResourceId(attr, 0)); else if (attr == R.styleable.EditText_et_dividerColor) dividerColors = a.getColorStateList(attr); else if (attr == R.styleable.EditText_et_dividerErrorColor) dividerErrorColors = a.getColorStateList(attr); else if (attr == R.styleable.EditText_et_dividerHeight) dividerHeight = a.getDimensionPixelSize(attr, 0); else if (attr == R.styleable.EditText_et_dividerPadding) dividerPadding = a.getDimensionPixelSize(attr, 0); else if (attr == R.styleable.EditText_et_dividerAnimDuration) dividerAnimDuration = a.getInteger(attr, 0); else if (attr == R.styleable.EditText_et_dividerCompoundPadding) mDividerCompoundPadding = a.getBoolean(attr, true); } a.recycle(); if (mInputView.getId() == 0) mInputView.setId(ViewUtil.generateViewId()); if (mDivider == null) { mDividerColors = dividerColors; mDividerErrorColors = dividerErrorColors; if (mDividerColors == null) { int[][] states = new int[][] { new int[] { -android.R.attr.state_focused }, new int[] { android.R.attr.state_focused, android.R.attr.state_enabled }, }; int[] colors = new int[] { ThemeUtil.colorControlNormal(context, 0xFF000000), ThemeUtil.colorControlActivated(context, 0xFF000000), }; mDividerColors = new ColorStateList(states, colors); } if (mDividerErrorColors == null) mDividerErrorColors = ColorStateList.valueOf(ThemeUtil.colorAccent(context, 0xFFFF0000)); if (dividerHeight < 0) dividerHeight = 0; if (dividerPadding < 0) dividerPadding = 0; if (dividerAnimDuration < 0) dividerAnimDuration = context.getResources().getInteger(android.R.integer.config_shortAnimTime); mDividerPadding = dividerPadding; mInputView.setPadding(0, 0, 0, mDividerPadding + dividerHeight); mDivider = new DividerDrawable(dividerHeight, mDividerCompoundPadding ? mInputView.getTotalPaddingLeft() : 0, mDividerCompoundPadding ? mInputView.getTotalPaddingRight() : 0, mDividerColors, dividerAnimDuration); mDivider.setInEditMode(isInEditMode()); mDivider.setAnimEnable(false); ViewUtil.setBackground(mInputView, mDivider); mDivider.setAnimEnable(true); } else { if (dividerHeight >= 0 || dividerPadding >= 0) { if (dividerHeight < 0) dividerHeight = mDivider.getDividerHeight(); if (dividerPadding >= 0) mDividerPadding = dividerPadding; mInputView.setPadding(0, 0, 0, mDividerPadding + dividerHeight); mDivider.setDividerHeight(dividerHeight); mDivider.setPadding(mDividerCompoundPadding ? mInputView.getTotalPaddingLeft() : 0, mDividerCompoundPadding ? mInputView.getTotalPaddingRight() : 0); } if (dividerColors != null) mDividerColors = dividerColors; if (dividerErrorColors != null) mDividerErrorColors = dividerErrorColors; mDivider.setColor(getError() == null ? mDividerColors : mDividerErrorColors); if (dividerAnimDuration >= 0) mDivider.setAnimationDuration(dividerAnimDuration); } if (labelPadding >= 0) getLabelView().setPadding(mDivider.getPaddingLeft(), 0, mDivider.getPaddingRight(), labelPadding); if (labelTextSize >= 0) getLabelView().setTextSize(TypedValue.COMPLEX_UNIT_PX, labelTextSize); if (labelTextColor != null) getLabelView().setTextColor(labelTextColor); if (mLabelEnable) { mLabelVisible = true; getLabelView().setText(mInputView.getHint()); addView(getLabelView(), 0, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)); setLabelVisible(!TextUtils.isEmpty(mInputView.getText().toString()), false); } if (supportTextSize >= 0) getSupportView().setTextSize(TypedValue.COMPLEX_UNIT_PX, supportTextSize); if (supportColors != null) mSupportColors = supportColors; else if (mSupportColors == null) mSupportColors = context.getResources().getColorStateList(R.color.abc_secondary_text_material_light); if (supportErrorColors != null) mSupportErrorColors = supportErrorColors; else if (mSupportErrorColors == null) mSupportErrorColors = ColorStateList.valueOf(ThemeUtil.colorAccent(context, 0xFFFF0000)); if (supportPadding >= 0) getSupportView().setPadding(mDivider.getPaddingLeft(), supportPadding, mDivider.getPaddingRight(), 0); if (supportHelper == null && supportError == null) getSupportView().setTextColor(getError() == null ? mSupportColors : mSupportErrorColors); else if (supportHelper != null) setHelper(supportHelper); else setError(supportError); if (mSupportMode != SUPPORT_MODE_NONE) { switch (mSupportMode) { case SUPPORT_MODE_CHAR_COUNTER: getSupportView().setGravity(Gravity.END); updateCharCounter(mInputView.getText().length()); break; case SUPPORT_MODE_HELPER: case SUPPORT_MODE_HELPER_WITH_ERROR: getSupportView().setGravity(GravityCompat.START); break; } addView(getSupportView(), new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)); } addView(mInputView, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)); requestLayout(); }