Как изменить цвет границы (не сфокусированный) EditText? - PullRequest
36 голосов
/ 10 февраля 2012

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

Что это за атрибут XML?

Ответы [ 4 ]

83 голосов
/ 10 февраля 2012

Создайте XML-файл со следующим в drawable (скажем, backwithborder.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>

и для атрибута пользователя EditText android:background="@drawable/backwithborder"

10 голосов
/ 10 февраля 2012
3 голосов
/ 19 апреля 2014

ОС Android сама добавляет границу в EditText, когда пользователь фокусируется на ней. Цвет зависит от версии ОС. Иногда мы можем захотеть избавиться от границы фокуса по умолчанию, и есть способ сделать это.

Мы можем сохранить цвет фона прозрачным, чтобы убрать рамку EditText с фокуса.

     <EditText 
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:background="#00000000"
      />
2 голосов
/ 08 августа 2013

Вы можете создать линейный макет с фоновым цветом, цвет которого должен быть задан. Затем поместите текст редактирования внутри этого Linearlayout и задайте цвет фона. Например: если рамка серого цвета, то фон для Linearview серый. и редактируем текстовый фон чёрным.

для ширины границы вы можете дать padding = "1dp" для border_width = "1dp".

...