-
Notifications
You must be signed in to change notification settings - Fork 31
Home
Mike Art edited this page Oct 28, 2016
·
14 revisions
В основе Decoro лежат два понятия: слот и маска. Слот определяет как будет отформатирован один символ. Маска же содержит список слотов и отвечает за форматирование последовательности символов.
Другие сущности, используемые библиотекой:
- Иногда нам хочется создавать маску на основе какого-нибудь DSL (вроде
+1 (___) ___-__-__
).SlotsParser
как раз призван помогать нам это делать. Обычный ```String`` он приводит к массиву слотов, которым умеет оперировать наша маска. Подробнее об этом в разделе о способах создания маски. -
PredefinedSlots
содержит предустановленные наборы слотов (для номера телефона, паспорта и т.д.) -
FormatWatcher
или форматтер - это абстрактная реализация TextWatcher’а. Он держит внутри себя маску и синхронизирует ее содержимое с содержимым TextView. Именно этот парень используется для форматирования текста "на лету", пока пользователь его вводит. В коробке имеются реализацииMaskFormatWatcher
иDescriptorFormatWatcher
. О различиях между ними в разделе о FormatWatcher'ах. -
MaskDescriptor`` - это "заготовка" с параметрами будущей маски, которую
DescriptorFormatWatcher``` использует для (пере)создания своей внутренней маски.