После использования библиотеки поддержки дизайна Android TextInputLayout
поместите плавающую метку над EditText
, мне было интересно, есть ли способ добавить плавающую метку к компоненту Spinner
(не обязательно используя библиотеку дизайна).
Под этим я подразумеваю нечто вроде TextView
, расположенное над Spinner
(очевидно, никаких анимаций, таких как TextInputLayout
), но я хочу, чтобы размер текста, шрифт и цвет в соответствии с плавающей меткой TextInputLayout
.
Например, он будет выглядеть примерно так (см. надписи над Spinner
s):
Как я уже упоминал ранее, моя главная цель - иметь надпись Spinner
, как и в TextInputLayout
, поэтому размер текста, шрифт, цвет и расстояния между меткой и компонентом будут одинаковыми.
На странице Google Design о плавающих текстовых полях с метками отображается диаграмма, показывающая размеры метки относительно компонента, но нет указателя на метку цвет текста или размер:
Итак, резюмируя, я спрашиваю:
- Если есть специальный компонент для достижения того, что я прошу, или пользовательский вид, который я могу использовать, что бы это было и как я могу его использовать.
- Если нет, каков размер текста, цвет и шрифт с плавающей меткой, чтобы я мог разместить TextView
выше моего Spinner
с размерами макета, показанными на приведенном выше изображении.
EDIT:
В Руководстве по дизайну Google для текстовых полей для плавающих меток оно имеет следующие значения:
Подсказка и шрифт ввода: Roboto Regular 16sp
Метка с надписью: Roboto Regular 12sp
Высота плитки: 72dp
Текстовое верхнее и нижнее заполнение: 16dp
Заполнение разделителя текстового поля: 8dp
а также изображения, показанные выше.
Таким образом, шрифт плавающей метки: Roboto Regular 12sp. Поэтому вы можете использовать TextView
для отображения метки Spinner
, поскольку я не знаю каких-либо пользовательских View
или специальных компонентов, которые вы могли бы использовать.
Однако, после проверки, это выглядит не так хорошо, как пример, показанный на изображении. пользовательский вид может быть лучше для этого, поскольку он может выглядеть лучше, но решение выше - это всего лишь один из способов достижения чего-то близкого к тому, что я изначально хотел.