Obramowanie w kształcie xml

157

Próbuję stworzyć rysowalny do użycia jako przycisk. Chciałbym, żeby miał takie zabarwienie z obramowaniem 2px dookoła.

Wszystko działa dobrze, z wyjątkiem tego, że nie mogę pokazać granicy ...

<?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
źródło

Odpowiedzi:

281

Wygląda na to, że zapomniałeś prefiksu atrybutu koloru. Próbować

 <stroke android:width="2dp" android:color="#ff00ffff"/>
THE_DOM
źródło
83

Jeśli chcesz zrobić obramowanie w kształcie xml. Musisz użyć:

W przypadku granicy zewnętrznej musisz użyć:

<stroke/>

Aby uzyskać wewnętrzne tło, musisz użyć:

<solid/>

Jeśli chcesz ustawić rogi, musisz użyć:

<corners/>

Jeśli chcesz uzyskać dopełnienie między obramowaniem a elementami wewnętrznymi, musisz użyć:

<padding/>

Oto przykład Shape XML wykorzystujący powyższe elementy. Mi to pasuje

<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
źródło
1
i jak nadać kształt „U” za pomocą tego typu XML do rysowania?
Himanshu Mori
8

Możemy dodać plik .xml do rysowania, jak poniżej

<?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
źródło