EditText подчеркивает свойство text

Я хочу изменить синий цвет под текстом редактирования, я не знаю, какое это свойство.

Я попробовал использовать для него другой цвет фона, но это не сработало.

Я добавил изображение ниже:

enter image description here

Ответ 1

На самом деле довольно просто установить цвет подчеркивания EditText программно (только одна строка кода).

Чтобы установить цвет:

editText.getBackground().setColorFilter(color, PorterDuff.Mode.SRC_IN);

Чтобы удалить цвет:

editText.getBackground().clearColorFilter();

Примечание: когда в EditText включен фокус, цвет, который вы установили, не вступает в силу, вместо этого он имеет цвет фокуса.

Справочник по API:

Drawable # setColorFilter

Drawable # clearColorFilter

Ответ 2

Используйте android:backgroundTint="" в макете EditText xml.

Для api < 21 вы можете использовать AppCompatEditText из библиотеки поддержки, затем app:backgroundTint=""

Ответ 3

Для каждого состояния EditText (фокус, включен, активирован) вам нужно использовать другое фоновое изображение, а не цвет.

http://android-holo-colors.com/

На сайте выше вы можете получать изображения из большого количества компонентов в теме Холо. Просто выберите "EditText" и нужный цвет. Вы можете просмотреть предварительный просмотр в нижней части страницы.

Загрузите ZIP файл и скопируйте его в свой проект (изображения и XML).

если ваш XML называется: apptheme_edit_text_holo_light.xml(или что-то подобное):

  • Перейдите в свой XML "styles.xml" и добавьте стиль EditText:

    <style name="EditTextCustomHolo" parent="android:Widget.EditText">
       <item name="android:background">@drawable/apptheme_edit_text_holo_light</item>
       <item name="android:textColor">#ffffff</item>
    </style>
    
  • Просто сделайте это в своем EditText:

    <EditText
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       style="@style/EditTextCustomHolo"/>
    

И это, я надеюсь, это поможет вам.

Ответ 4

вы можете изменить Подчеркнутый цвет EditText, указав его в styles.xml. В теме приложения styles.xml добавьте следующее.

<item name="android:textColorSecondary">@color/primary_text_color</item> 

Как указано в разделе комментариев в разделе

  <item name="android:colorControlActivated">@color/black</item>

настройка этого в стиле темы хорошо работает для изменения цвета подчеркивания edittext.

Ответ 5

Это отлично подходит для старой и новой версии Android (отлично работает даже на API 10!).

Определите этот стиль в styles.xml:

<style name="EditText.Login" parent="Widget.AppCompat.EditText">
    <item name="android:textColor">@android:color/white</item>
    <item name="android:textColorHint">@android:color/darker_gray</item>
    <item name="colorAccent">@color/blue</item>
    <item name="colorControlNormal">@color/blue</item>
    <item name="colorControlActivated">@color/blue</item>
</style>

И теперь в вашем XML задайте это как тему и стиль (стиль), чтобы установить textColor и тему, чтобы задать все другие вещи):

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="text"
    style="@style/EditText.Login"
    android:theme="@style/EditText.Login"/>

Изменить

Это решение заставляет крошечный пользовательский интерфейс работать с новыми версиями Android (Lollipop или Marshmallow onwards), что выделенные дескрипторы подчеркнуты.

Этот вопрос обсуждается в этой теме. (Я не пробовал это решение лично)

Ответ 6

Итак, вам нужно создать новый .xml файл в вашей папке с рисунком.

В этом файле вставьте этот код:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:bottom="8dp"
    android:left="-3dp"
    android:right="-3dp"
    android:top="-3dp">

    <shape android:shape="rectangle">
        <stroke
            android:width="1dp"
            android:color="@color/white"/>
    </shape>
</item>

И в вашем EditText установите

        android:background="@drawable/your_drawable"

Вы можете играть с вашим гибким xml, устанавливать углы, paddings и т.д.

Ответ 7

В вашем стиле приложения определите свойство colorAccent. Здесь вы найдете пример

<style name="AppTheme" parent="Theme.AppCompat.Light">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/action_bar</item>
    <item name="colorPrimaryDark">@color/primary_dark</item>
    <item name="colorAccent">@color/action_bar</item>
</style>

Ответ 8

Используйте нижеприведенный код, чтобы изменить цвет фона границы редактирования текста.

Создайте новый XML файл под drawable.

abc.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="#00000000" />
    <stroke android:width="1dip" android:color="#ffffff" />
</shape>

и добавьте его в качестве фона вашего текста редактирования

android:background="@drawable/abc"

Ответ 9

Если вам не нужно поддерживать устройства с API < 21, используйте backgroundHint в xml, например:

 <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="textPersonName"
            android:hint="Task Name"
            android:ems="10"
            android:id="@+id/task_name"
            android:layout_marginBottom="15dp"
            android:textAlignment="center"
            android:textColor="@android:color/white"

            android:textColorLink="@color/blue"
            android:textColorHint="@color/blue"
            android:backgroundTint="@color/lighter_blue" />

Для лучшей поддержки и резервного использования используйте решение @Akariuz. backgroundHint - самое безболезненное решение, но не обратно совместимое, исходя из ваших требований, делает звонок.

Ответ 10

Чтобы изменить цвет нижней строки, вы можете использовать это в своей теме приложения:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>

    <item name="colorControlNormal">#c5c5c5</item>
    <item name="colorControlActivated">#ffe100</item>
    <item name="colorControlHighlight">#ffe100</item>
</style>

Чтобы изменить цвет с плавающей меткой, напишите следующую тему:

<style name="TextAppearence.App.TextInputLayout" parent="@android:style/TextAppearance">
<item name="android:textColor">#4ffd04[![enter image description here][1]][1]</item>
</style>

и используйте эту тему в своем макете:

 <android.support.design.widget.TextInputLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="20dp"
    app:hintTextAppearance="@style/TextAppearence.App.TextInputLayout">

    <EditText
        android:id="@+id/edtTxtFirstName_CompleteProfileOneActivity"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:capitalize="characters"
        android:hint="User Name"
        android:imeOptions="actionNext"
        android:inputType="text"
        android:singleLine="true"
        android:textColor="@android:color/white" />

</android.support.design.widget.TextInputLayout>

введите описание изображения здесь

Ответ 11

Вы можете легко изменить цвет EditText, просто используя эту строку кода:

edittext.setBackgroundTintList(ColorStateList.valueOf(yourcolor));