Как изменить цвет линии в EditText
Я создаю EditText в моем XML-файле макета
Но я хочу изменить цветовую строку в EditText с Holo на (например) красный. Как это можно сделать?
21 ответ
Это лучший инструмент, который вы можете использовать для всех просмотров, и он БЕСПЛАТНЫЙ, благодаря @ Жерому Ван Дер Линдену.
Генератор цветов Android Holo позволяет легко создавать компоненты Android, такие как EditText или счетчик с вашими собственными цветами для вашего приложения Android. Он сгенерирует все необходимые девять патчей, а также связанные XML-чертежи и стили, которые вы можете скопировать прямо в свой проект.
ОБНОВЛЕНИЕ 1
Срок действия этого домена истек, но проект является открытым исходным кодом, который можно найти здесь.
Это изображение помещено на задний план EditText
ОБНОВЛЕНИЕ 2
Для API 21 или выше вы можете использовать android:backgroundTint
Обновление 3 Теперь у нас есть поддержка AppCompatEditText
Примечание. Нам нужно использовать app: backgroundTint вместо android: backgroundTint .
Обновление 4 Версия AndroidX
Мне не нравятся предыдущие ответы. Лучшее решение — использовать:
android:backgroundTint для EditText работает только на API21 + . Из-за этого мы должны использовать библиотеку поддержки и AppCompatEditText .
Примечание: мы должны использовать app:backgroundTint вместо android:backgroundTint
Версия AndroidX
Вы также можете быстро изменить цвет подчеркивания EditText, подкрасив фон EditText следующим образом:
Для API ниже 21 можно использовать атрибут темы в EditText поместите код ниже в файл стиля
Используйте этот стиль в EditText как
Программно вы можете попробовать:
Это довольно просто (требуется: минимальный API 21) .
- Перейдите в свой xml и выберите поле EditText
- Справа вы можете увидеть окно «Атрибуты». Выберите «Просмотреть все атрибуты».
- Просто ищите «оттенок»
- И добавьте / измените backgroundTint на желаемый шестнадцатеричный цвет (скажем, # FF0000)
Я думаю, что лучший способ — по теме:
Чтобы изменить цвет подчеркивания Edittext:
Если вы хотите, чтобы все приложение разделяло этот стиль, вы можете сделать следующее.
(1) перейдите в файл styles.xml. Ваш AppTheme, который наследует родительский элемент Theme.AppCompat.Light.DarkActionBar (в моем случае), будет базовым родительским элементом для всех файлов стилей в вашем приложении. Измените его название на «AppBaseTheme». Создайте прямо под ним другой стиль с именем AppTheme, унаследованный от AppBaseTheme, который вы только что отредактировали. Это будет выглядеть так:
Затем измените «colorAccent» на любой желаемый цвет линии EditText.
(2) Если у вас есть другие папки значений со style.xml, этот шаг очень важен. Потому что этот файл будет унаследован от вашего предыдущего родительского файла xml. Например, у меня есть values-19 / styles.xml. Это специально для Kitkat и выше. Измените его родительский элемент на AppBaseTheme и убедитесь, что вы избавились от «colorAccent», чтобы он не переопределял цвет родительского элемента. Также вам нужно сохранить элементы, относящиеся к версии 19. Тогда это будет выглядеть так.
Вы можете программно изменить цвет EditText, просто используя эту строку кода: edittext.setBackgroundTintList(ColorStateList.valueOf(yourcolor));
Цвет линии определяется свойством фона EditText . Чтобы изменить это, вы должны изменить android:background в файле макета.
Я должен отметить, что этот стиль достигается за счет использования возможности рисования с 9 патчами. Если вы посмотрите в SDK, вы увидите, что фон EditText — это изображение:
Чтобы изменить его, вы можете открыть его в программе обработки изображений и раскрасить в желаемый цвет. Сохраните его как bg_edit_text.9.png , а затем поместите в папку с возможностью рисования. Теперь вы можете применить его в качестве фона для своего EditText вот так:
drawable / bg_edittext.xml
Установить на EditText
Фон виджетов зависит от уровня API .
АЛЬТЕРНАТИВА 1
Вы можете добавить собственное изображение к своему фону EditText ,
Ваше изображение должно выглядеть примерно так. Это даст вам желаемый эффект.
АЛЬТЕРНАТИВА 2
Установите этот xml в свой фоновый атрибут EditText .
Это будет похоже на ваш EditText на всех API.
Вы можете изменить цвет с помощью тонировки фона
Используйте этот метод .. и измените его в соответствии с именами ваших представлений. Этот код отлично работает.
Если вам нужна ровная линия, вы можете легко сделать это с помощью xml. Вот пример xml:
Замените фигуру селектором, если вы хотите предоставить другую ширину и цвет для выделенного текста редактирования.
Наилучший подход — использовать AppCompatEditText с атрибутом backgroundTint пространства имен app . т.е.
Когда мы используем android:backgroundTint , он будет работать только в API21 или более поздних версиях, но app:backgroundTint работает на всех уровнях API, которые использует ваше приложение.
Используйте свойство android: background для этого edittext. Передайте ему изображение папки с возможностью рисования. Например,
** это одно из действий с видом **
Попробуйте следующий способ, он преобразует цвет нижней строки EditText при использовании в качестве свойства фона.
Источник
Как изменить цвет линии в EditText
Я создаю EditText в моем файле макета XML
Но я хочу изменить цветовую линию в EditText с Holo на (например) красный . Как это можно сделать?
Это лучший инструмент, который вы можете использовать для всех видов, и БЕСПЛАТНО благодаря @ Jérôme Van Der Linden .
Генератор цветов Holo для Android позволяет легко создавать компоненты Android, такие как EdiText или спиннер, с собственными цветами для приложения Android. Он сгенерирует все девять необходимых исправлений, а также соответствующие XML-элементы и стили, которые вы можете скопировать прямо в ваш проект.
ОБНОВЛЕНИЕ 1
Срок действия этого домена истек, но проект с открытым исходным кодом вы можете найти здесь
это изображение помещено в фон EditText
ОБНОВЛЕНИЕ 2
Для API 21 или выше, вы можете использовать Android:backgroundTint
Обновление 3 Теперь у нас есть поддержка назад AppCompatEditText
Примечание: Нам нужно использовать app: backgroundTint вместо Android: backgroundTint
Мне не нравятся предыдущие ответы. Лучшее решение — использовать:
Android: backgroundTint для EditText работает только на API21 + . Из-за этого мы должны использовать библиотеку поддержки и AppCompatEditText .
Примечание: мы должны использовать app: backgroundTint вместо Android: backgroundTint.
Вы также можете быстро изменить цвет подчеркивания EditText, подкрасив фон EditText следующим образом:
Программно вы можете попробовать:
для API ниже 21 вы можете использовать атрибут theme в edittext поместите код ниже в файл стиля
использовать этот стиль в тексте редактирования как
я думаю, что лучший способ по теме:
Затем измените «colorAccent» на любой цвет, какой вы хотите, чтобы был цвет вашей линии EditText.
(2) Если у вас есть другие папки значений с style.xml, этот шаг очень важен. Потому что этот файл будет наследоваться от вашего предыдущего родительского XML-файла. Например, у меня есть значения-19/styles.xml. Это специально для KitKat и выше. Измените его родительский на AppBaseTheme и убедитесь, что он избавился от «colorAccent», чтобы он не перекрывал цвет родителя. Также вам необходимо сохранить элементы, относящиеся к версии 19. Тогда это будет выглядеть так.
Цвет строки определяется свойством background EditText . Чтобы изменить его, вы должны изменить Android:background в файле макета.
Я должен отметить, что этот стиль достигается с помощью 9-патч. Если вы посмотрите в SDK, то увидите, что фон EditText — это изображение:
Чтобы изменить его, вы можете открыть его в программе для работы с изображениями и раскрасить его в нужный цвет. Сохраните его как bg_edit_text.9.png , а затем поместите в папку для рисования. Теперь вы можете применить его в качестве фона для вашего EditText , например так:
Это довольно просто (обязательно: минимум 21 API) .
- Перейдите в свой XML и выберите поле EditText
- На правой стороне вы можете увидеть окно «Атрибуты». Выберите «Просмотреть все атрибуты»
- Просто найдите «оттенок»
- И добавьте/измените ‘backgroundTint’ на желаемый гекс цвета (скажем, # FF0000)
Источник
Как изменить цвет линии в EditText
Я создаю EditText в моем файле макета XML
Но я хочу изменить цветовую линию в EditText с Holo на (например) красный. Как это можно сделать?
Это лучший инструмент, который вы можете использовать для всех видов, и БЕСПЛАТНО благодаря @ Jérôme Van Der Linden .
Генератор цветов Holo для Android позволяет вам легко создавать компоненты Android, такие как EditText или прядильщик, с вашими собственными цветами для вашего приложения Android. Он сгенерирует все необходимые девять патчей, а также соответствующие XML-элементы и стили, которые вы можете скопировать прямо в ваш проект.
ОБНОВЛЕНИЕ 1
Срок действия этого домена истек, но проект с открытым исходным кодом вы можете найти здесь
это изображение на заднем плане EditText
ОБНОВЛЕНИЕ 2
Для API 21 или выше, вы можете использовать android:backgroundTint
Обновление 3 Теперь у нас с поддержкой спины AppCompatEditText
Примечание: нам нужно использовать app: backgroundTint вместо android: backgroundTint
Мне не нравятся предыдущие ответы. Лучшее решение — использовать:
android:backgroundTint для EditText работ только по API21 + . Из-за этого мы должны использовать библиотеку поддержки и AppCompatEditText .
Примечание: мы должны использовать app:backgroundTint вместо android:backgroundTint
Версия для AndroidX
Вы также можете быстро изменить цвет подчеркивания EditText, подкрасив фон EditText следующим образом:
для API ниже 21, вы можете использовать атрибут темы в EditText приведенном ниже коде в файл стиля
использовать этот стиль в EditText качестве
Программно вы можете попробовать:
я думаю, что лучший способ по теме:
Чтобы изменить цвет подчеркивания Edittext:
Если вы хотите, чтобы все приложение разделяло этот стиль, вы можете сделать это следующим образом.
(1) перейти в файл styles.xml. Ваш AppTheme, который наследует родителя Theme.AppCompat.Light.DarkActionBar (в моем случае), будет базовым родителем всех файлов стилей в вашем приложении. Измените его имя на «AppBaseTheme». Создайте еще один стиль под названием AppTheme, который наследует только что отредактированный AppBaseTheme. Это будет выглядеть следующим образом:
Затем измените «colorAccent» на тот цвет, который вы хотите, чтобы ваш цвет линии EditText был.
Источник
EditText подчеркивание под свойством текста
Я хотел бы изменить синий цвет под текстом редактирования, я не знаю, что это за свойство.
Я пробовал использовать для него другой цвет фона, но это не сработало.
Я прикрепил изображение ниже:
На самом деле довольно легко установить цвет подчеркивания EditText программно (всего одна строка кода).
Чтобы установить цвет:
Чтобы удалить цвет:
Примечание: когда EditText находится в фокусе , установленный вами цвет не вступает в силу, вместо этого он имеет цвет фокуса.
Справочник по API:
Используйте android:backgroundTint=»» в своем EditText XML-макете.
Для api AppCompatEditText из библиотеки поддержки, затем app:backgroundTint=»»
Вы должны использовать другое фоновое изображение, а не цвет для каждого состояния EditText (фокус, включен, активирован).
На сайте выше вы можете получить изображения из множества компонентов в теме Holo. Просто выберите «EditText» и нужный цвет. Вы можете увидеть предварительный просмотр внизу страницы.
Загрузите файл .zip и скопируйте и вставьте ресурсы в свой проект (изображения и XML).
если ваш XML называется: apptheme_edit_text_holo_light.xml (или что-то подобное):
Перейдите в свой XML-файл «styles.xml» и добавьте собственный EditText стиль:
Просто сделайте это в своем EditText :
И все, надеюсь, это вам поможет.
Это отлично работает как для старой, так и для новой версии Android (отлично работает даже с API 10!).
Определите этот стиль в своем styles.xml :
А теперь в вашем XML установите это как тему и стиль ( стиль, который нужно установить textColor , и тему, чтобы установить все остальные вещи):
редактировать
Это решение вызывает крошечный сбой пользовательского интерфейса в более новых версиях Android (Lollipop или Marshmallow и далее), маркеры выделения которых подчеркнуты.
Этот вопрос обсуждается в этой ветке . (Я лично не пробовал это решение)
Источник
Как изменить цвет линии в EditText
Я создаю EditText в моем XML-файле макета
Но я хочу изменить цветную линию в EditText от Holo до (например) красного цвета. Как это можно сделать?
Это лучший инструмент, который вы можете использовать для всех просмотров и его БЕСПЛАТНО благодаря @ Jérôme Van Der Linden .
Android Holo Colors Generator позволяет вам легко создавать компоненты Android, такие как EdiText или spinner с вашими собственными цветами для вашего приложения Android. Он будет генерировать все необходимые девять активов патчей плюс связанные с ними XML-графики и стили, которые вы можете скопировать прямо в свой проект.
Это изображение помещено в фон EditText
ОБНОВИТЬ
Для API 21 или выше вы можете использовать android:backgroundTint
Мне не нравятся предыдущие ответы. Лучшее решение – использовать:
Android: backgroundTint для EditText работает только на API21 + . Из-за этого мы должны использовать библиотеку поддержки и AppCompatEditText .
Примечание: мы должны использовать app: backgroundTint вместо android: backgroundTint.
Вы также можете быстро изменить цвет подчеркивания EditText, изменив цвет фона EditText следующим образом:
Чтобы изменить цвет подчеркивания Edittext:
Если вы хотите, чтобы все приложение делилось этим стилем, вы можете сделать следующий путь.
(1) перейти к файлу styles.xml. Ваш AppTheme, который наследует родителя Theme.AppCompat.Light.DarkActionBar (в моем случае), будет основным родителем всех файлов стиля в вашем приложении. Измените его имя на «AppBaseTheme». Сделайте другой стиль под ним, который имеет имя AppTheme и наследует от AppBaseTheme, который вы только что отредактировали. Он будет выглядеть следующим образом:
Затем измените «colorAccent» на любой цвет, который вы хотите на цвет линии EditText.
(2) Если у вас есть папки с другими значениями с style.xml, этот шаг очень важен. Поскольку этот файл наследуется от вашего предыдущего родительского xml-файла. Например, у меня есть значения-19 / styles.xml. Это специально для Kitkat и выше. Измените родительский элемент на AppBaseTheme и убедитесь, что вы избавились от «colorAccent», чтобы он не переопределял цвет родителя. Также вам нужно сохранить элементы, характерные для версии 19. Тогда это будет выглядеть так.
Цвет линии определяется с помощью свойства фона EditText . Чтобы изменить его, вы должны изменить android:background в файле макета.
Следует отметить, что этот стиль достигается за счет использования 9-патча. Если вы посмотрите в SDK, вы увидите, что фон EditText – это изображение:
Чтобы изменить его, вы можете открыть его в программе обработки изображений и покрасить его в нужный цвет. Сохраните его как bg_edit_text.9.png а затем поместите его в папку с выделением. Теперь вы можете применить его в качестве фона для вашего EditText например:
Фон виджета зависит от уровня API .
АЛЬТЕРНАТИВА 1
Вы можете предоставить собственное изображение на свой фон EditText
Ваше изображение должно выглядеть примерно так. Это даст вам желаемый эффект.
АЛЬТЕРНАТИВА 2
Установите этот xml в свой фоновый атрибут EditText .
Это будет иметь одинаковый внешний вид вашего EditText для каждого API.
Если вам нужна плоская линия, вы можете сделать это легко с помощью xml. Вот пример xml:
Замените фигуру селектором, если вы хотите предоставить различную ширину и цвет для сфокусированного edittext.
Используйте этот метод .. и измените его в соответствии с именами имени ur. Этот код отлично работает.
Я думаю, что лучший способ – по теме:
Используйте свойство android: background для этого edittext. Передайте изображение с возможностью рисования на него. Например,
Лучшим подходом является использование AppCompatEditText с атрибутом backgroundTint пространства имен app . т.е.
Когда мы используем android:backgroundTint он будет работать только в API21 или более, но app:backgroundTint работает на всех уровнях API, которые делает ваше приложение.
** это один из дел с видом **
Попробуйте сделать следующий путь: он преобразует нижний цвет текста EditText, когда он используется как свойство фона.
Источник