Изменить цвет линии EditText - Android

Можно ли изменить цвет линии на EditText. Когда он активен, он имеет зеленоватый цвет. Image

Можно ли изменить только цвет строки, когда он активен, и как это сделать...?

Ответ 1

Вам нужно установить источник фона для текста редактирования.

  • Создать http://android-holo-colors.com/
  • Вместо пользовательского EditText вы можете применить созданный шаблон как фона, например android:background="@drawable/my_theme_edit_text". Или вы можете установить этот фон в своей теме приложения - вы найдете пример в .zip файле с этого сайта

Ответ 2

Вы можете установить фон edittext в прямоугольник с минусом заполнения слева, справа и сверху, чтобы достичь этого.

Вот пример xml для установки разных цветов линий для сфокусированного и не сфокусированного edittext, просто установите его как фон edittext.

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:top="-2dp"
        android:left="-2dp"
        android:right="-2dp"
        android:bottom="2dp">
        <selector >
            <item android:state_enabled="true"
                android:state_focused="true">
                <shape
                    android:shape="rectangle">
                    <stroke
                        android:width="2dp"
                        android:color="#6A9A3A"/>
                </shape>
            </item>
            <item android:state_enabled="true">
                <shape
                    android:shape="rectangle">
                    <stroke
                        android:width="1dp"
                        android:color="#000000"/>
                </shape>
            </item>
        </selector>
    </item>
</layer-list>

Ответ 3

добавьте в свою theme.xml эту строку:

<item name="colorAccent">@color/black</item>

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

Ответ 4

Здесь вы находитесь:

editText.getBackground().setColorFilter(getResources().getColor(R.color.white), PorterDuff.Mode.SRC_ATOP);

Ответ 5

вы можете установить android: backgroundTint = "@color/blue", чтобы изменить цвет нижней строки Edittext

Ответ 6

<EditText
            android:id="@+id/editText1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_vertical"
            android:background="@drawable/text"
            android:ems="10"
            android:textColorHint="#fefefe"
            android:hint="@string/text1"
            android:textColor="#fefefe"
            android:inputType="textEmailAddress"
            android:layout_marginTop="10dp"
/>

Используйте приведенный ниже код в файле res/drawable/text.xml

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:top="24.0dp">
   <shape >
      <solid android:color="#fefefe"  />
   </shape>
   </item>
</layer-list>

Ответ 7

Вы можете использовать android:background = "@color/black" for the api 21 или выше 21 (это применимо к устройству lollypop или выше), а для версий ниже вы должны использовать стиль для edittext.

Ответ 8

У меня была такая же проблема разрешил его, изменив цвет backgroundTint следующим образом:

Android: backgroundTint = "@цвет/light_color"