Я создаю EditText в моем файле макета XML
Но я хочу изменить цветовую линию в EditText с Holo на (например) красный. Как это можно сделать?
Это лучший инструмент, который вы можете использовать для всех видов, и БЕСПЛАТНО благодаря @ Jérôme Van Der Linden .
Генератор цветов Holo для Android позволяет вам легко создавать компоненты Android, такие как EditText
или прядильщик, с вашими собственными цветами для вашего приложения Android. Он сгенерирует все необходимые девять патчей, а также соответствующие XML-элементы и стили, которые вы можете скопировать прямо в ваш проект.
ОБНОВЛЕНИЕ 1
Срок действия этого домена истек, но проект с открытым исходным кодом вы можете найти здесь
попытайся
это изображение на заднем плане EditText
android:background="@drawable/textfield_activated"
ОБНОВЛЕНИЕ 2
Для API 21 или выше, вы можете использовать android:backgroundTint
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Underline color change"
android:backgroundTint="@android:color/holo_red_light" />
Обновление 3
Теперь у нас с поддержкой спиныAppCompatEditText
Примечание: нам нужно использовать app: backgroundTint вместо android: backgroundTint
<android.support.v7.widget.AppCompatEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Underline color change"
app:backgroundTint="@color/blue_gray_light" />
Мне не нравятся предыдущие ответы. Лучшее решение - использовать:
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 был.
(2) Если у вас есть другие папки значений с style.xml, этот шаг очень важен. Потому что этот файл будет наследоваться от вашего предыдущего родительского XML-файла. Например, у меня есть значения-19 / styles.xml. Это специально для Киткат и выше. Измените его родительский на AppBaseTheme и убедитесь, что избавился от «colorAccent», чтобы он не перекрывал цвет родителя. Также вам нужно сохранить элементы, относящиеся к версии 19. Тогда это будет выглядеть так.
источник
Это довольно просто (обязательно: минимум API 21) ...
Продолжайте кодировать ........ :)
источник
Цвет линии определяется
EditText
свойством background. Чтобы изменить его, вы должны изменитьandroid:background
в файле макета.Я должен отметить, что этот стиль достигается с помощью 9-патч. Если вы посмотрите в SDK, то увидите, что фон
EditText
этого изображения:Чтобы изменить его, вы можете открыть его в программе для работы с изображениями и раскрасить его в нужный цвет. Сохраните это как
bg_edit_text.9.png
и затем поместите это в свою папку drawable. Теперь вы можете применить его в качестве фона для вашегоEditText
так:источник
Вы можете изменить цвет EditText программно, используя следующую строку кода:
edittext.setBackgroundTintList(ColorStateList.valueOf(yourcolor));
источник
Фон виджетов зависит от уровня API .
АЛЬТЕРНАТИВА 1
Вы можете предоставить собственное изображение для вашего
EditText
фона,Ваше изображение должно выглядеть примерно так. Это даст вам желаемый эффект.
АЛЬТЕРНАТИВА 2
Установите этот xml для вашего
EditText
атрибута фона.Это будет выглядеть так же, как и вы
EditText
на каждом API.источник
Вы можете изменить цвет с тонировкой фона
<EditText android:backgroundTint="@color/red"/>
источник
рисуем / bg_edittext.xml
Установить для EditText
источник
Используйте этот метод .. и измените его в соответствии с вашими именами. Этот код прекрасно работает.
источник
Если вам нужна плоская линия, вы можете легко это сделать с помощью XML. Вот пример XML:
Замените фигуру селектором, если вы хотите предоставить другую ширину и цвет для сфокусированного текста редактирования.
источник
Наилучшим подходом является использование атрибута
AppCompatEditText
with пространства имен. т.е.backgroundTint
app
когда мы используем
android:backgroundTint
его, он будет работать только в API21 или более, ноapp:backgroundTint
работает на всех уровнях API, которые делает ваше приложение.источник
Используйте свойство android: background для этого текста редактирования. Передайте в нее свое нарисованное изображение папки. Например,
источник
** это одно из дел с видом **
источник
Попробуйте следующим образом, он преобразует цвет нижней строки EditText, когда используется в качестве свойства фона.
источник
Это можно просто сделать, включив это
android:theme="@style/AppTheme.AppBarOverlay
как атрибут в ваш editText и добавив это<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
в ваши стилиисточник