- This is a project I've created many years ago. I'm not sure if it still works,
- but unfortunately I don't have time to maintain it.
- I'm archiving it for now.
MakedEditText is a simple Android EditText with customizable input mask support.
If you want only the jar file it is available here.
Add xmlns:mask="http://schemas.android.com/apk/res/com.your.app.package" to your layout xml root. You're now ready to use MaskedEditText! Just add to your layout xml:
<br.com.sapereaude.maskedEditText.MaskedEditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
mask:mask="###.###.###-##"
/>
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 optionally replace the
character on the mask for any kind of character:
<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"
mask:mask_fill="_"
/>
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());
MaskedEditText é um EditText do Android com suporte a máscaras de texto customizáveis.
Se você quiser somente o arquivo jar ele está disponível aqui.
Adicione xmlns:mask="http://schemas.android.com/apk/res/br.com.package.do.seu.app" à raíz do seu xml de layout. Agora você já pode usar o MaskedEditText! Basta inserir no local desejado em seu xml de layout:
<br.com.sapereaude.maskedEditText.MaskedEditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
mask:mask="###.###.###-##"
/>
Onde mask é a máscara do seu interesse e '#' é uma posição editável (que será substituída por um espaço em branco na tela).
Caso seja do seu interesse você pode mudar o caracter de representação (se você não quiser utilizar '#'):
<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"
/>
Você também pode mudar o character
que é utilizado para representar espaço em branco na máscara:
<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"
mask:mask_fill="_"
/>
Você também pode mudar a máscara e o caracter de representação programaticamente:
MaskedEditText editText = (MaskedEditText) findViewById(R.id.meu_edit_text)
// Setando o caracter de representação para '$'
editText.setCharRepresentation('$');
// Logando o caracter de representação
Log.i("Caracter de representação", editText.getCharRepresentation());
// Setando a máscara
editText.setMask("##/##/####");
// Logando a máscara
Log.i("Mascara", editText.getMask());