четверг, 26 февраля 2015 г.

EditText, InputType

Возможность автоматического появления экранной клавиатуры заложена для всех элементов, в которых предусмотрен ввод текста. В группе Text Fields панели Palette редактора компоновки находится множество вариантов текстовых полей с различным режимом ввода текста.


Давайте поэкспериментируем с несколькими типами текстовых полей. Создайте новый проект c с именем EditTextInputTypes. В файл компоновки из группы Text Fields добавьте три текстовых поля разного типа: E-mail, Number и Password.
Файл компоновки main.xml для проекта EditTextInputTypes
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android=
      "http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
    <EditText
        android:id="@+id/editText1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textEmailAddress"/>
    <EditText
        android:id="@+id/editText3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="number" />
    <EditText
        android:id="@+id/editText4"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textPassword" />
</LinearLayout>
Как вы видите, на самом деле все эти текстовые поля представлены одним элементом EditText, а тип ввода текста определяется одним атрибутом android:inputType. Запустите приложение на выполнение. Если теперь попытаться ввести что-нибудь в текстовые поля, в зависимости от типа поля система будет отображать соответствующую экранную клавиатуру. Например, для ввода адреса электронной почты на клавиатуре будет кнопка со значком @ и кнопка перехода Next, а на клавиатуре для ввода пароля вместо Next стоит кнопка Done. Если в текстовое поле разрешено вводить только цифры, будет отображена цифровая клавиатура.


Как видите, Android предоставляет очень гибкую систему для ввода текста, и во многих случаях в программном коде вам нет необходимости определять маски для ввода или делать проверку типа введенной информации.

Комментариев нет:

Отправить комментарий