Borde en forma xml

157

Estoy tratando de hacer un dibujo para usar para un botón. Me gustaría que tuviera este color, con un borde de 2px alrededor.

Todo funciona bien, excepto que no puedo hacer que aparezca el borde ...

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <gradient android:startColor="@color/bar_clicked_dark"
        android:endColor="@color/bar_clicked_light"
        android:angle="90"/>

    <corners android:bottomLeftRadius="0dp"
        android:topLeftRadius="15dp"
        android:bottomRightRadius="15dp"
        android:topRightRadius="0dp" />

    <stroke android:width="2dp" 
        color="#ff00ffff" />

</shape>
Mate
fuente

Respuestas:

281

Parece que olvidó el prefijo en el atributo de color. Tratar

 <stroke android:width="2dp" android:color="#ff00ffff"/>
THE_DOM
fuente
83

Si quieres hacer un borde en forma xml. Necesitas usar:

Para el borde externo, debe usar:

<stroke/>

Para el fondo interno, debe usar:

<solid/>

Si desea establecer esquinas, debe usar:

<corners/>

Si desea un relleno entre el borde y los elementos internos, debe usar:

<padding/>

Aquí hay un ejemplo de xml de forma usando los elementos anteriores. Esto funciona para mi

<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
  <stroke android:width="2dp" android:color="#D0CFCC" /> 
  <solid android:color="#F8F7F5" /> 
  <corners android:radius="10dp" />
  <padding android:left="2dp" android:top="2dp" android:right="2dp" android:bottom="2dp" />
</shape>
Miguel Rodríguez
fuente
1
y cómo hacer que la forma de "U" use este tipo de xml dibujable
Himanshu Mori
8

Podemos agregar .xml dibujable como a continuación

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="rectangle">


    <stroke
        android:width="1dp"
        android:color="@color/color_C4CDD5"/>

    <corners android:radius="8dp"/>

    <solid
        android:color="@color/color_white"/>

</shape>
Vinod Pattanshetti
fuente