Значение number
Значение number
Тип number (от англ. «number» ‒ «число») создаёт однострочное поле ввода числового значения.
Внешний вид
‒ числовое поле;
‒ наведение курсора;
‒ фокус.
Примечание
Данное поле подойдет не для всех случаев, когда планируется ввод какого-либо числа в поле. Простым способом определения необходимости использования числового поля является рассмотрение вопроса о том, имело бы смысл для данного поля иметь интерфейс со счётчиком (например, со стрелками «вверх» и «вниз»). Так например, использовать данное поле для ввода номера банковской карты было бы не совсем уместно (для этого лучше использовать обычное текстовое поле).
Чем отличается счетчик от поля ввода
В Xamarin Forms текстовые поля представлены несколькими классами:
Label : текстовая метка для вывода текста
Entry : однострочное текстовое поле
Editor : многострочное текстовое поле
Label
Label представляет обычную текстовую метку, которая выводит информацию с помощью свойства Text. Label удобен для создания заголоков и меток к элементам ввода.
Label довольно простой элемент, однако даже с ним могут возникать некоторые сложности. Например, кнопки определяют событие нажатия, которое мы можем обработать. У Label подобного события нет. Но что делать, если мы вдруг хотим обрабатывать нажатие на заголовок? В этом случае мы можем воспользоваться специальным классом TapGestureRecognizer , который позволяет обрабатывать нажатия:
TapGestureRecognizer представляет специальный класс, который позволяет распознать нажатия. С помощью свойства NumberOfTapsRequired мы можем установить, сколько нажатий необходимо. В данном случае мы устанавливаем двойное нажатие. И именно по двойному нажатию будет генерироваться событие Tapped , в обработчике которого мы будем переключать цвет текста и фона метки.
И чтобы связать объект TapGestureRecognizer с меткой, необходимо добавить этот объект в коллекцию GestureRecognizers :
Тектовое поле Entry
Entry представляет текстовое поле для ввода однострочной информации:
Обработать ввод пользователя мы можем с помощью обработки события TextChanged
Аналогичный пример в xaml:
Основные свойства элемента Entry, которые мы можем использовать:
Text : введенный в поле текст
TextColor : цвет вводимого текста
Placeholder : текст-заменитель, который отображается в поле до ввода и исчезает при начале печати
IsPassword : при значении true указывает, то поле будет предназначено для ввода пароля, и поэтому все вводимые символы будут заменяться звездочкой
Также класс Entry определяет два события:
TextChanged : возникает при вводе символов в поле
Completed : возникает при завершении ввода
Формат клавиатуры
Среди свойств текстового поля ввода наиболее интересным является свойство Keyboard . Оно позволяет задать формат клавиатуры для ввода символов. Например, если необходимо ввести в поле какую-то числовую информацию, то гораздо было бы проще с точки зрения юзабилити предоставить пользователю сразу числовую раскладку клавиатуры. Данное свойство принимает одно из значений перечисления Keyboard:
Каждое значение предоставляет свою раскладку клавиатуры, предназначенную для ввода определенной информации. Например, entry.Keyboard=Keyboard.Telephone — при вводе нам автоматически представляется раскладка, содержащая только те знаки, которые используются при наборе телефонного номера.
Editor
В отличие от Entry Editor представляет собой многострочное поле ввода, но принципы его работы аналогичны. Он также имеет все те же свойства и события. Например: