Границы в форме XML-файле


Я пытаюсь сделать drawable для использования для кнопки. Я хотел бы, чтобы у него была эта окраска, с границей 2px вокруг нее.

все работает просто отлично, за исключением того, что я не могу получить границу, чтобы показать...

<?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="2px" 
        color="#ff00ffff" />

</shape>
2 132

2 ответа:

похоже, вы забыли префикс на атрибут color. Попробуй

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

если вы хотите сделать границу в форме xml. Вы должны использовать:

для внешней границы необходимо использовать:

<stroke/>

для внутреннего фона,нужно использовать:

<solid/>

если вы хотите установить уголки,вам нужно использовать:

<corners/>

если вы хотите прокладку между границей и внутренними элементами,вам нужно использовать:

<padding/>

вот пример XML-формы с использованием вышеуказанных элементов. Это работает для меня

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