Как разработать эту форму в Android - PullRequest
0 голосов
/ 02 октября 2018

Я хочу создать эту фигуру, для этого я попытался создать список слоев для создания списка слоев, но это не произошло именно так, как я хочу.

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item >
        <shape android:shape="rectangle">
            <solid android:color="@color/APP_PRIMARY"/>
            <corners android:topRightRadius="100dp"
                android:bottomRightRadius="100dp"/>
        </shape>
    </item>
    <item android:width="100dp" >
        <shape android:shape="rectangle">
            <solid android:color="@color/white"/>
            <corners android:topRightRadius="90dp"
                android:bottomRightRadius="90dp"/>
        </shape>
    </item>
</layer-list>

Вывод приведенного выше кода

like this

Желаемый выход.

Desired Output

Ответы [ 2 ]

0 голосов
/ 02 октября 2018

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

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- The bottom layer is blue square.-->
<item
    android:left="5dp"
    android:top="5dp"
    android:right="5dp"
    android:bottom="5dp">
    <shape>
        <solid android:color="@color/accentYellowCanary" />
        <size android:height="100dp"
            android:width="200dp" />
        <corners android:topLeftRadius="50dp"
            android:bottomLeftRadius="50dp"
            android:topRightRadius="50dp"
            android:bottomRightRadius="50dp"/>
    </shape>
</item>

<!-- The middle layer is green circle.-->
<item
    android:left="5dp"
    android:top="5dp"
    android:right="150dp"
    android:bottom="5dp">
    <shape android:shape="oval">
        <size
            android:width="100dp"
            android:height="100dp" />
        <solid android:color="#FFF" />
    </shape>
</item>

, в результате чего:

enter image description here

, а для левой вы можете использовать

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- The bottom layer is blue square.-->
<item
    android:left="5dp"
    android:top="5dp"
    android:right="5dp"
    android:bottom="5dp">
    <shape>
        <solid android:color= "@color/offWhite"/>
        <size android:height="100dp"
            android:width="200dp" />
        <corners android:topLeftRadius="50dp"
            android:bottomLeftRadius="50dp"
            android:topRightRadius="50dp"
            android:bottomRightRadius="50dp"/>
    </shape>
</item>

0 голосов
/ 02 октября 2018

Это именно то, что вам нужно

<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item >
    <shape android:shape="rectangle">
        <solid android:color="@color/colorPrimary"/>
        <corners android:radius="90dp"
            />
    </shape>
</item>
<item android:width="100dp" >
    <shape android:shape="rectangle">
        <solid android:color="#ffff"/>
        <corners android:radius="90dp"/>
    </shape>
</item>
<item android:width="90dp" >
    <shape android:shape="rectangle">
        <solid android:color="@color/red"/>
        <corners android:radius="90dp"
            />
    </shape>
</item>

Сообщите мне, работает или нет.Спасибо

...