Android EditText view плавающая Подсказка в дизайне материалов
предоставляет ли API 21 метод для использования следующей функции:
http://www.google.com/design/spec/components/text-fields.html#text-fields-floating-labels
Я пытаюсь плавать EditText намеки.
спасибо!
9 ответов:
плавающая подсказка EditText:
добавить ниже зависимость в gradle:
compile 'com.android.support:design:22.2.0'планировка:
<android.support.design.widget.TextInputLayout android:id="@+id/text_input_layout" android:layout_width="match_parent" android:layout_height="wrap_content"> <EditText android:id="@+id/editText" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="UserName"/> </android.support.design.widget.TextInputLayout>
да, по состоянию на 29 мая 2015 года эта функция теперь предоставляется в Библиотека Поддержки Дизайна Android
эта библиотека включает в себя поддержку
- плавающие метки
- плавающая кнопка действия
- закусочная
- панель навигации
- и
библиотека поддержки Android может быть импортирована в gradle в зависимости:
compile 'com.android.support:design:22.2.0'Он должен быть включен в GradlePlease! И в качестве примера использовать его:
<android.support.design.widget.TextInputLayout android:id="@+id/to_text_input_layout" android:layout_width="match_parent" android:layout_height="wrap_content"> <AutoCompleteTextView android:id="@+id/autoCompleteTextViewTo" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="To" android:layout_marginTop="45dp" /> </android.support.design.widget.TextInputLayout>кстати, редактор может не понимать, что AutoCompleteTextView разрешен в TextInputLayout.
Android не предоставил собственный метод. Ни совместимости приложений.
попробуйте эту библиотеку:https://github.com/rengwuxian/MaterialEditText
Это может быть то, что вы хотите.
импорт библиотек поддержки, в сборке вашего проекта.файл gradle, добавьте следующие строки в зависимости проекта:
dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:design:22.2.0' compile 'com.android.support:appcompat-v7:22.2.0' }используйте следующий TextInputLayout в вашем макете пользовательского интерфейса:
<android.support.design.widget.TextInputLayout android:id="@+id/usernameWrapper" android:layout_width="match_parent" android:layout_height="wrap_content"> <EditText android:id="@+id/username" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textEmailAddress" android:hint="Username"/> </android.support.design.widget.TextInputLayout>затем вызовите setHint на TextInputLayout сразу после вызова setContentView, потому что для анимации плавающей метки вам просто нужно установить подсказку, используя метод setHint.
final TextInputLayout usernameWrapper = (TextInputLayout) findViewById(R.id.usernameWrapper); usernameWrapper.setHint("Username");
предложение@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
попробуй так
dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:23.0.1' compile 'com.android.support:design:23.0.1'}
для получения дополнительной информации нажмите кнопку здесь
для более простого способа использования InputTextLayout я создал эту библиотеку, которая сокращает ваш XML-код до менее половины, а также предоставляет вам возможность установить сообщение об ошибке, а также сообщение с подсказкой и простой способ сделать ваши проверки. https://github.com/TeleClinic/SmartEditText
просто добавить
compile 'com.github.TeleClinic:SmartEditText:0.1.0'затем вы можете сделать что-то вроде этого:
<com.teleclinic.kabdo.smartmaterialedittext.CustomViews.SmartEditText android: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.SmartEditText android: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.SmartEditText android: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.*" />

Comments