Рисование нескольких фигур со шпилем в XML с Android

StackOverflow https://stackoverflow.com/questions/4061159

  •  27-09-2019
  •  | 
  •  

Вопрос

В настоящее время я рисую ряд кругов на холсте в пользовательском представлении в коде. Круги статические и не меняются. Я хотел бы нарисовать их, используя FAPEDRAWATE в XML, чтобы помочь убрать мой код. У меня будет несколько разных deamables, которые пользователь может выбрать, и поэтому я не хочу делать это в коде. Наличие чертежей 3 или 4 XML, кажется, намного Neater для меня.

Я создал один круг в XML с помощью FAPEDRAWATAL, но не могу добавить более одной формы для XML.

Как добавить несколько фигурок на документ XML с помощью FAPEDRAWATION.

Это было полезно?

Решение 2

Я думаю, что я нашел решение для добавления нескольких форм в мой XML-файл с использованием списка слоя. Я еще не пробовал это, но это, кажется, это именно то, что я хочу, поскольку формы будут рисовать в порядке их индекса массива.

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
   <item>
      <shape>
         <solid android:color="#FFF8F8F8" />
      </shape>
   </item>
   <item android:top="23px">
      <shape>
         <solid android:color="#FFE7E7E8" />
      </shape>
   </item>
</layer-list>

Сообщение блога

Android Docs

Другие советы

Вот как я сделал заполненный красный круг с однопиксельной черной границей, с белым номером 72 посередине:

Создайте файл XML в RES DRIVALABLABLABLE и назовите его соответствующим образом, например, red_circle_black_brider.xml

<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="oval">
            <solid android:color="@android:color/black" />
        </shape>
    </item>
    <item android:top="1dp" android:left="1dp" android:right="1dp" android:bottom="1dp">
        <shape android:shape="oval">
            <solid android:color="@android:color/red" />
        </shape>
    </item>
</layer-list>

Затем, чтобы использовать его в своем макете, объявите его следующим образом:

<TextView
    android:text="72"
    android:textSize="14dp"
    android:textStyle="bold"
    android:background="@drawable/red_circle_black_border" 
    android:layout_width="22dp"
    android:layout_height="22dp"
    android:gravity="center_vertical|center_horizontal"
    android:textColor="@android:color/white" />

Очевидно, что измените TexSize и Layout_width / Высота, как требуется :-)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top