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>

Respuestas:


281

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

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

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>

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>
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.