Skip to content
Kai Zhu edited this page Mar 30, 2015 · 24 revisions

Features and Usage

  1. Basic

Just use com.rengwuxian.materialedittext.MaterialEditText instead of EditText in your layout xml. MaterialEditText has directly inherited EditText, so you don't have to change your java code.

<com.rengwuxian.materialedittext.MaterialEditText
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:hint="Basic"/>

Basic

  1. Custom Base/Primary/Error Color

Base color will be used as bottom line color, text color (reset alpha to 87%) and hint text color (reset alpha to 26%). You can use app:met_baseColor in xml or setBaseColor() in java code. If you haven't set a base color, black will be used.

Primary color will be used as the activated bottom line color, highlight floating label color, and singleline ellipsis color. You can use app:met_primaryColor in xml or setPrimaryColor() in java code. If you haven't set a primary color, the base color will be used.

app:met_baseColor="#0056d3"
app:met_primaryColor="#982360"
app:met_errorColor="#ddaa00"

BaseColor

  1. Floating Label

There're 3 modes of floating label: none, normal, and highlight. You can use app:met_floatingLabel in xml or setFloatingLabel() in java code.

normal:

app:met_floatingLabel="normal"

FloatingLabel

highlight:

app:met_floatingLabel="highlight"

HighlightFloatingLabel

custom floating label text:

app:met_floatingLabelText="XXX"

CustomFloatingLabelText

  1. Single Line Ellipsis

Use app:met_singleLineEllipsis=true int xml or setSingleLineEllipsis() in java code to enable the ellipsis for when some texts scroll left. Touching the ellipsis jumps the cursor back to the beginning of the string. android:singleLine will be set true automatically when app:met_singleLineEllipsis is enabled.

NOTE: Single Line Ellipsis may increase the View's height to the bottom.

app:met_singleLineEllipsis="true"

SingLineEllipsis

  1. Min and Max Characters

Use app:met_maxCharacters in xml or setMaxCharacters() in java code to set the max characters count. The bottom line will turn red when exceeding max characters. 0, as default, means no max characters. You can also customize the error color using app:met_errorColor or setErrorColor() in java code.

NOTE: Min/Max Characters may increase the View's height to the bottom.

app:met_minCharacters="5"
app:met_maxCharacters="10"

default error color:

MaxCharacters

  1. Helper Text and Error Text

HelperTextAndErrorText

helper text:

app:met_helperText="Integer"

error text:

just use original setError(CharSequence error) in java code.

regex check:

validationEditText.isValid("\\d+");

regex validate with error text setting:

validationEditText.validate("\\d+", "Only Integer Valid!");
  1. Custom accent typeface

floating label, error/helper text, character counter, etc.

app:met_accentTypeface="fonts/Roboto-LightItalic.ttf"

CustomAccentTypeface

  1. Hide Underline
app:met_hideUnderline="true"

HideUnderLine

  1. Validation

This will automatically show the error text.

One-off validation:

et.validateWith(new RegexpValidator("Only Integer Valid!", "\\d+"));

Complex:

et.addValidator(new CustomValidator1())
.addValidator(new CustomValidator2())
.addValidator(new RegexpValidator("Only Integer Valid!", "\\d+"));

All attributes

met_baseColor: The base color of the line and all the texts in non-focus state. Black as default.

met_primaryColor: The highlight color of the line, and the floating label (if the floatingLabel is set to true).

met_textColor: Same meaning as android:textColor. Just use this instead.

met_textColorHint: Same meaning as android:textColorHint. Just use this instead.

met_floatingLabel: How the floating label should be shown. Options: none, normal, highlight. None as default.

met_floatingLabelText: Custom float label text.

met_floatingLabelTextSize: The floating label's text size. 12sp by default.

met_floatingLabelTextColor: The floating label's text color. Using baseColor by default.

met_floatingLabelPadding: Padding between the main text and the floating label.

met_floatingLabelAnimating: Whether use animation to show/hide the floating label. true by default.

met_floatingLabelAlwaysShown: Always show the floating label, instead of animating it in/out.

met_minCharacters: Min characters count limit. 0 as default.

met_maxCharacters: Max Characters count limit. 0 means no limit. 0 as default.

met_helperText: Helper text at the bottom.

met_helperTextAlwaysShown: Always show the helper text, no matter if the edit text is focused.

met_helperTextColor: Helper text color.

met_errorColor: The color for when something is wrong.(e.g. exceeding max characters).

met_bottomTextSize: The bottom texts' size. 12sp by default.

met_minBottomTextLines: Reserved bottom text lines count, no matter if there is some helper/error text.

met_singleLineEllipsis: Whether to show the bottom ellipsis in singleLine mode.

met_typeface: Font used for the main texts.

met_accentTypeface: Font used for the accent texts.

met_underlineColor: Custom underline's color.

met_hideUnderline: If the underline should be hidden.

met_autoValidate: Auto validate.

met_iconLeft: Left Material Design icon.

met_iconRight: Right Material Design icon.

met_iconPadding: Padding between the icon(s) and the main area. 16dp by default, following Google's Material Design Spec.

met_clearButton: Whether to show the clear button.

AutoCompleteTextView support

Just use MaterialAutoCompleteTextView instead of MaterialEditText.

MultiAutoCompleteTextView support

Just use MaterialMultiAutoCompleteTextView instead of MaterialEditText.

Clone this wiki locally