MaskedEditText
This project derives from toshikurauchi/MaskedEditText, but it's been adapted for gradle build system and has additional features:
- filter allowed chars
- filter denied chars
- user can use chars from mask in his input (in original version of this library user couldn't use digit '7' in the '+7(XXX)XXX-XX-XX' pattern).
- You can keep hints even when user started typing.
So it allows you to use masks for phones, urls, etc.
Enjoy!
en_US
MaskedEditText is a simple Android EditText with customizable input mask support.
For instance, you need user specified his phone in format +7(XXX)XXX-XX-XX. You also know user should have the only possibility to write digits but minuses, brackets and "+7" should appear automatically.
Usage
Add this to your build.gradle
:
compile 'ru.egslava:MaskedEditText:1.0.5'
Or download project and plug it in as a library.
Add xmlns:mask=" http://schemas.android.com/apk/res-auto" to your layout xml root:
<br.com.sapereaude.maskedEditText.MaskedEditText
android:id="@+id/phone_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="phone"
android:typeface="monospace"
mask:allowed_chars="1234567890"
mask:mask="+7(###)###-##-##"
android:hint="1234567890"
app:keep_hint="true"
/>
Where mask is the input mask you want and '#' is an editable position (will be replaced by a whitespace on screen).
You can optionally set the representation character (in case you don't want to use '#'):
<br.com.sapereaude.maskedEditText.MaskedEditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
mask:mask="ccc.ccc.ccc-cc"
mask:char_representation="c" />
You can also change the mask and the representation character programatically:
MaskedEditText editText = (MaskedEditText) findViewById(R.id.my_edit_text) // Setting the representation character to '$' editText.setCharRepresentation('$');
// Logging the representation character Log.i("Representation character", editText.getCharRepresentation());
// Setting the mask editText.setMask("##/##/####");
// Logging the mask Log.i("Mask", editText.getMask());
ru_RU
MaskedEditText - ??? ????? ???? EditText, ?? ? ???????????? ???????? ???????????? ?????.
????????, ????? ?????? ??????? ? ??????? +7(XXX)XXX-XX-XX. ?????? ????? ?????? ?????? ?????, ? ????????, ?????? ? "+7" ?????? ????????????? ??????????????.
?????????????
??????? ? build.gradle
:
compile 'ru.egslava:MaskedEditText:1.0.5'
??? ??????? ?????? ? ?????????? ??? ??????????.
???????? xmlns:mask=" http://schemas.android.com/apk/res-auto" ? ???????? ??????? ????? ????????:
<br.com.sapereaude.maskedEditText.MaskedEditText
android:id="@+id/phone_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="phone"
android:typeface="monospace"
mask:allowed_chars="1234567890"
mask:mask="+7(###)###-##-##"
android:hint="1234567890"
app:keep_hint="true"
/>
mask ?????? ????????? ?????, ?????? '#' ?????? ????????????? ??????? (? ????? ??????? ?? ?????? ?? ??????).
???? ???????????? '#' ??????, ?? ????? ??????????? ???????????? ?????? ??????:
<br.com.sapereaude.maskedEditText.MaskedEditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
mask:mask="ccc.ccc.ccc-cc"
mask:char_representation="c" />
????? ????, ??? ???? ????? ????? ??????? ? ??????????:
MaskedEditText editText = (MaskedEditText) findViewById(R.id.my_edit_text) // Setting the representation character to '$' editText.setCharRepresentation('$');
// Logging the representation character Log.i("Representation character", editText.getCharRepresentation());
// Setting the mask editText.setMask("##/##/####");
// Logging the mask Log.i("Mask", editText.getMask());