rounded - outlined text fields android
Cómo tener EditText con borde en Android Lollipop (4)
Estoy desarrollando una aplicación para Android. Necesito saber cómo podemos tener un EditText con borde. En Lolipop han cambiado completamente el estilo EditText. ¿Podemos hacerlo sin usar dibujables?
Escriba editTextBackground.xml en una carpeta dibujable en recursos
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke
android:width="1dp"
android:color="@color/borderColor" />
</shape>
No te olvides de declarar color en los recursos llamados borderColor
.
y asigne este fondo al EditText
en el atributo de fondo xml
<EditText
android:id="@+id/text"
android:background="@drawable/editTextBackground"
/>
y establecerá el borde en EditText
.
ACTUALIZAR
Puede cambiar el borde del texto de edición sin dibujar utilizando el atributo de style
style="@style/Widget.AppCompat.EditText"
para más detalles visita personalizar editar texto
Para un trabajo correcto, su forma debe ser con etiquetas de selector y elemento.
<?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>
Puedes hacerlo usando xml.
Cree un diseño xml y asígnele el nombre 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>
Añadir fondo a su Edittext
<EditText
android:id="@+id/editText1"
..
android:background="@layout/my_edit_text_border">
Puedes usar un dibujable. Cree un archivo de diseño dibujable en su carpeta dibujable. Pega este código. También puedes modificarlo - 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>
en su vista EditarTexto, agregue
android:background="@drawable/border"