Я столкнулся с этим также во время поиска, но мне было интересно, предоставляет ли Android собственный метод.
xsorifc28
1
Это заставляет нас думать, что с Android что-то не так. В API для материального дизайна есть несколько пробелов. Другой пример - кнопка действия с плавающей запятой.
motobói
Ответы:
4
Вам необходимо добавить в файл build.gradle вашего модуля следующее:
Я получаю сообщение об ошибке: (1) "Цвет атрибута" уже определен "при синхронизации с градиентом, вероятно, из-за appcompat-v7. Я не могу от этого избавиться. Есть предложения?
mdzeko
MaterialEditText не определил атрибут с именем «цвет», поэтому в другом месте должно быть что-то не так.
rengwuxian
9
Импортируйте библиотеки поддержки. В файле build.gradle вашего проекта добавьте следующие строки в зависимости проекта:
Затем вызовите setHint для TextInputLayout сразу после вызова setContentView, потому что для анимации плавающей метки вам просто нужно установить подсказку с помощью метода setHint.
https://github.com/thebnich/FloatingHintEditText работает с appcompat-v7 v21.0.0, но, поскольку v21.0.0 не поддерживает акцентные цвета с подклассами EditText, подчеркивание по FloatingHintEditTextумолчанию будет сплошным черным или белым. Кроме того, отступы не оптимизированы для стиля материала EditText, поэтому вам может потребоваться его настроить.
Спасибо. Я предполагаю, что Google также не предоставил api для создания предупреждений о редактировании текста в стиле материала, например, в google.com/design/spec/components/ ... Извините за любительские вопросы, я пытаюсь адаптироваться к материальному дизайну как можно больше поскольку я могу использовать API / библиотеки Google и пытаться выяснить все, что было предоставлено, по сравнению с любыми внешними библиотеками. Еще раз спасибо!
Чтобы упростить использование InputTextLayout, я создал эту библиотеку, которая сокращает ваш XML-код менее чем наполовину, а также предоставляет вам возможность установить сообщение об ошибке, а также сообщение-подсказку и простой способ сделать ваш проверки.
https://github.com/TeleClinic/SmartEditText
<com.teleclinic.kabdo.smartmaterialedittext.CustomViews.SmartEditTextandroid:id="@+id/emailSmartEditText"android:layout_width="match_parent"android:layout_height="wrap_content"app:setLabel="Email"app:setMandatoryErrorMsg="Mandatory field"app:setRegexErrorMsg="Wrong email format"app:setRegexType="EMAIL_VALIDATION"/><com.teleclinic.kabdo.smartmaterialedittext.CustomViews.SmartEditTextandroid:id="@+id/passwordSmartEditText"android:layout_width="match_parent"android:layout_height="wrap_content"app:setLabel="Password"app:setMandatoryErrorMsg="Mandatory field"app:setPasswordField="true"app:setRegexErrorMsg="Weak password"app:setRegexType="MEDIUM_PASSWORD_VALIDATION"/><com.teleclinic.kabdo.smartmaterialedittext.CustomViews.SmartEditTextandroid:id="@+id/ageSmartEditText"android:layout_width="match_parent"android:layout_height="wrap_content"app:setLabel="Age"app:setMandatory="false"app:setRegexErrorMsg="Is that really your age :D?"app:setRegexString=".*\\d.*"/>
Ответы:
Вам необходимо добавить в файл build.gradle вашего модуля следующее:
И используйте com.google.android.material.textfield.TextInputLayout в своем XML:
источник
Плавающая подсказка EditText:
Добавьте ниже зависимость в gradle:
В макете:
источник
22.2.0
implementation 'com.google.android.material:material:1.0.0-rc01'
.Да, с 29 мая 2015 г. эта функция теперь доступна в библиотеке поддержки дизайна Android.
Эта библиотека включает поддержку
источник
Библиотеку поддержки Android можно импортировать в gradle в зависимости:
Он должен быть включен в GradlePlease! И как пример его использования:
Кстати, редактор может не понимать, что AutoCompleteTextView разрешен в TextInputLayout.
источник
Android не предоставил собственный метод. Ни AppCompat.
Попробуйте эту библиотеку: https://github.com/rengwuxian/MaterialEditText
Это может быть то, что вы хотите.
источник
Импортируйте библиотеки поддержки. В файле build.gradle вашего проекта добавьте следующие строки в зависимости проекта:
Используйте следующий TextInputLayout в макете пользовательского интерфейса:
Затем вызовите setHint для TextInputLayout сразу после вызова setContentView, потому что для анимации плавающей метки вам просто нужно установить подсказку с помощью метода setHint.
источник
setHint()
. Он работает с подсказкой, установленнойEditText
в макете xml.Предложение @andruboy https://gist.github.com/chrisbanes/11247418 , вероятно, является вашим лучшим выбором.
https://github.com/thebnich/FloatingHintEditText работает с appcompat-v7 v21.0.0, но, поскольку v21.0.0 не поддерживает акцентные цвета с подклассами
EditText
, подчеркивание поFloatingHintEditText
умолчанию будет сплошным черным или белым. Кроме того, отступы не оптимизированы для стиля материалаEditText
, поэтому вам может потребоваться его настроить.источник
Нет, это не так. Я ожидал бы этого в будущем выпуске API, но пока мы застряли на EditText. Другой вариант - это библиотека:
https://github.com/marvinlabs/android-floatinglabel-widgets
источник
Чтобы упростить использование InputTextLayout, я создал эту библиотеку, которая сокращает ваш XML-код менее чем наполовину, а также предоставляет вам возможность установить сообщение об ошибке, а также сообщение-подсказку и простой способ сделать ваш проверки. https://github.com/TeleClinic/SmartEditText
Просто добавьте
Тогда вы можете сделать что-то вроде этого:
источник
Попробуйте так
для получения дополнительной информации нажмите здесь
источник
Используйте
TextInputLayout
предоставленные библиотекой компонентов материалов :источник