Форма Android в форме - PullRequest
       2

Форма Android в форме

12 голосов
/ 22 июня 2010

Я хочу иметь элемент shape с двухцветным контуром. Я могу сделать один цветной контур, используя элемент solid, но это позволяет мне рисовать только одну линию. Я пытался использовать два stroke элемента в моей фигуре, но это тоже не сработало.

Есть ли способ нарисовать фигуру внутри фигуры или нарисовать две линии вокруг моей фигуры (с закругленными углами, кстати).

Ответы [ 2 ]

29 голосов
/ 23 июня 2010

Я обнаружил, что <layer-list> - лучший подход.Вот так:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:left="6dp"
        android:right="6dp">
        <shape xmlns:android="http://schemas.android.com/apk/res/android"
            android:shape="rectangle">
            <stroke
                android:width="3dp"
                android:color="#000000" />
        </shape>
    </item>
    <item
        android:bottom="1dp"
        android:left="8dp"
        android:right="8dp"
        android:top="1dp">
        <shape xmlns:android="http://schemas.android.com/apk/res/android"
            android:shape="rectangle">
            <corners
                android:bottomLeftRadius="2dp"
                android:bottomRightRadius="2dp"
                android:topLeftRadius="2dp"
                android:topRightRadius="2dp" />
            <solid android:color="@android:color/white" />

            <stroke
                android:width="1dp"
                android:color="#BDBDBD" />
        </shape>
    </item>
</layer-list>

Затем вам нужно поставить правильные поля в вашей listView компоновке строк, но она работает довольно хорошо.

0 голосов
/ 22 июня 2010

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

<RelativeLayout ... android:background="@drawable/outer"> <ListView ... android:background="@drawable/inner" /> </RelativeLayout>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...