Por lo que yo lo entiendo, no hay una manera fácil de hacerlo. pero si usa layer-list con un elemento que tiene el borde y luego uno que no con un desplazamiento desde en todos los lados para los que desea un borde igual al ancho del borde, lo lograría.
Quiero dejar el xml para que en representación de la parte inferior sin fronteras ..
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- Border -->
<item>
<shape>
<solid android:color="#f000"></solid>
</shape>
</item>
<!-- Body -->
<item android:left="2dip"
android:top="2dp"
android:right="2dp">
<shape>
<solid android:color="#ffafafaf"></solid>
</shape>
</item>
</layer-list>
Como se puede ver, yo estoy diciendo la segunda elemento que se va inserción de la primera de ellas por dos de dp en todos los lados, excepto parte inferior (por lo tanto el resultado no-frontera en la parte inferior), ahí lo tienes:
Así que, esencialmente esto no es una frontera per se, es la forma de abajo (aunque se podría añadir un borde si necesita punteado o punteado o lo que sea) cubierto por un segundo elemento con sería el cuerpo del botón. Todos en el mismo dibujable :)
Esto se puede aplicar a cualquier borde que desea eliminar, cambiando los valores que el artículo es inserción, por ejemplo, si cambio el right
en el elemento de cuerpo a bottom
, los desaparecidos frontera sería el más adecuado ya que es la una sin la inserción
Bueno, ¿dónde Tengo que colocar mis estilos? En el primer- , ¿verdad? –
Por cierto, estoy tratando de usarlo para EditText. –
No importa a qué vista lo aplique. El primer 'elemento' es solo para el borde, por lo que debe dividir el estilo entre esos dos. Si quieres un fondo verde, por ejemplo, lo agregarías al segundo ítem, el que se llama "cuerpo" en mi código –