Android studio edittext цвет подчеркивания

Как изменить цвет линии в 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) .

  1. Перейдите в свой xml и выберите поле EditText
  2. Справа вы можете увидеть окно «Атрибуты». Выберите «Просмотреть все атрибуты».
  3. Просто ищите «оттенок»
  4. И добавьте / измените 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) .

  1. Перейдите в свой XML и выберите поле EditText
  2. На правой стороне вы можете увидеть окно «Атрибуты». Выберите «Просмотреть все атрибуты»
  3. Просто найдите «оттенок»
  4. И добавьте/измените ‘backgroundTint’ на желаемый гекс цвета (скажем, # FF0000)
Читайте также:  Use map android app

Источник

Как изменить цвет линии в 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, когда он используется как свойство фона.

Источник

Оцените статью