Как иметь EditText с границей в Android Lollipop
Я разрабатываю приложение для Android. Мне нужно знать, как мы можем иметь EditText с границей. В Lolipop они полностью изменили стиль EditText. Можем ли мы это сделать без использования чертежей?
Ответы
Ответ 1
Напишите editTextBackground.xml в папке с возможностью рисования в ресурсах
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke
android:width="1dp"
android:color="@color/borderColor" />
</shape>
не забудьте объявить цвет в ресурсах с именем borderColor
.
и присвойте этот фон EditText
в атрибуте фона xml
<EditText
android:id="@+id/text"
android:background="@drawable/editTextBackground"
/>
и установите границу на EditText
.
UPDATE
Вы можете изменить границу текста редактирования без возможности рисования с помощью атрибута style
style="@style/Widget.AppCompat.EditText"
для более подробной информации посетите настроить текст редактирования
Ответ 2
Вы можете использовать drawable. Создайте в папке с вытаскиванием выпадающий файл макета. Вставьте этот код. Вы также можете изменить его - border.xml.
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke
android:width="1dp"
android:color="@color/divider" />
<solid
android:color="#00FFFFFF"
android:paddingLeft="10dp"
android:paddingTop="10dp"/>
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
в вашем представлении EditText, добавьте
android:background="@drawable/border"
Ответ 3
Для правильной работы ваша фигура должна быть с тегами селектора и тегов
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="#ffffff" />
<stroke android:width="1dp"
android:color="@color/shape_border_active"/>
</shape>
</item>
</selector>
Ответ 4
Вы можете сделать это с помощью xml.
Создайте макет xml и назовите его как my_edit_text_border.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:layout_width="wrap_content">
<item>
<shape android:shape="rectangle">
<solid android:color="#ffffff"/>
<corners android:radius="5dp" />
<stroke
android:width="2dp"
android:color="#949494"
/>
</shape>
</item>
</selector>
Добавить фон в Edittext
<EditText
android:id="@+id/editText1"
..
android:background="@layout/my_edit_text_border">