Android EditText view плавающая Подсказка в дизайне материалов



предоставляет ли API 21 метод для использования следующей функции:



http://www.google.com/design/spec/components/text-fields.html#text-fields-floating-labels



Я пытаюсь плавать EditText намеки.



спасибо!

703   9  

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

попробуй так

enter image description here

  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

    Ничего не найдено.