Граница в форме XML


157

Я пытаюсь сделать рисование для кнопки. Я бы хотел, чтобы у него была такая окраска с рамкой в ​​2 пикселя.

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

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

Ответы:


281

Похоже, вы забыли префикс в атрибуте цвета. Пытаться

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

83

Если вы хотите сделать границу в форме 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>

1
и как сделать "U" форму, используя этот тип XML-рисования?
Химаншу Мори

8

Мы можем добавить Drawable .xml, как показано ниже

<?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>
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.