проблема в применении собственного фона к макету с радиусом в углах - PullRequest
0 голосов
/ 06 января 2020

Я хочу создать подобный дизайн enter image description here

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

enter image description here

вот пользовательский чертеж xml

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <shape android:shape="rectangle">
        <solid android:color="@color/turquoise" />
    </shape>
</item>
<item>
    <shape android:shape="rectangle">
        <corners
            android:bottomLeftRadius="0dp"
            android:bottomRightRadius="0dp"
            android:topLeftRadius="14dp"
            android:topRightRadius="14dp" />
        <padding
            android:left="5dp"
            android:top="5dp"
            android:right="5dp"
            android:bottom="5dp"    >
        </padding>
        <solid android:color="@color/white"
            android:elevation="0dp"
            />
        <size android:height="60dp" />
    </shape>
</item>

как подать заявку что к компоновке-ограничению

1 Ответ

0 голосов
/ 08 января 2020

есть два решения:

Решение 1: применить углы и отступы к прямоугольнику с цветом turquoise

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <solid android:color="@color/turquoise" />
            <padding android:top="28dp" />
            <corners
                android:topLeftRadius="14dp"
                android:topRightRadius="14dp" />
        </shape>
    </item>
    <item>
        <shape android:shape="rectangle">
            <corners
                android:bottomLeftRadius="0dp"
                android:bottomRightRadius="0dp"
                android:topLeftRadius="14dp"
                android:topRightRadius="14dp" />
            <padding
                android:bottom="5dp"
                android:left="5dp"
                android:right="5dp"
                android:top="5dp" />
            <solid
                android:color="@color/white"
                android:elevation="0dp" />
            <size android:height="60dp" />
        </shape>
    </item>
</layer-list>

обратите внимание, что android:top значение, которое вы должны установить в зависимости от ваших потребностей.

Решение 2:

создать два отдельных макета с одинаковыми дизайнами, просто отличающимися по макету. установите один с turquoise на constraintLayout и ящик ImageView, чтобы получить один с белым и установите marginTop в зависимости от ваших потребностей

любые вопросы приветствуются

...