Borda em forma xml

157

Estou tentando fazer um drawable para usar em um botão. Gostaria que tivesse essa coloração, com uma borda de 2px ao redor.

Tudo funciona muito bem, exceto que eu não consigo fazer a borda aparecer ...

<?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>
Matt
fonte

Respostas:

281

Parece que você esqueceu o prefixo no atributo color. Experimentar

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

Se você quiser fazer uma borda em um formato xml. Você precisa usar:

Para a borda externa, você precisa usar:

<stroke/>

Para o plano de fundo interno, você precisa usar:

<solid/>

Se você deseja definir cantos, precisa usar:

<corners/>

Se você deseja um preenchimento entre a borda e os elementos internos, é necessário usar:

<padding/>

Aqui está um exemplo de formato xml usando os itens acima. Funciona para mim

<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
fonte
1
e como fazer formato de "U" usando esse tipo de xml drawable?
Himanshu Mori
8

Podemos adicionar .xml drawable como abaixo

<?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
fonte