Как изогнуть начало прямоугольника в форме буквы с?

Ниже приводится требуемый результат.

enter image description here

Вот что я получаю

enter image description here

Как видите, между концом первой кнопки и началом второй кнопки наблюдается разрыв.

Вот мой код

<TextView
        android:id="@+id/tv_activity_admin_login_apply_now"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginBottom="32dp"
        android:layout_marginStart="8dp"
        android:background="@drawable/applynow"
        android:clickable="true"
        android:focusable="true"
        android:gravity="center"
        android:textColor="#fff"
        android:paddingBottom="10dp"
        android:paddingEnd="20dp"
        android:paddingStart="20dp"
        android:paddingTop="10dp"
        android:text="@string/apply_now"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toStartOf="@+id/tv_activity_admin_login_check_status"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent" />

    <TextView
        android:id="@+id/tv_activity_admin_login_check_status"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginEnd="8dp"
        android:background="@drawable/checkstatus"
        android:clickable="true"
        android:focusable="true"
        android:gravity="center"
        android:paddingBottom="10dp"
        android:paddingEnd="20dp"
        android:paddingStart="20dp"
        android:paddingTop="10dp"
        android:text="@string/check_status"
        android:textColor="#fff"
        app:layout_constraintBottom_toBottomOf="@+id/tv_activity_admin_login_apply_now"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toEndOf="@+id/tv_activity_admin_login_apply_now"
        app:layout_constraintTop_toTopOf="@+id/tv_activity_admin_login_apply_now" />

applynow.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient
        android:angle="90"
        android:endColor="#6ECAF9"
        android:startColor="#049CE8" />
    <corners android:radius="5dp" />
    <padding
        android:bottom="10dp"
        android:left="10dp"
        android:right="10dp"
        android:top="10dp" />
</shape>

checkstatus.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient
        android:angle="90"
        android:endColor="#1981C2"
        android:startColor="#006CAF" />
    <corners
        android:bottomRightRadius="3dp"
        android:topRightRadius="3dp"
        />
    <padding
        android:bottom="10dp"
        android:left="10dp"
        android:right="10dp"
        android:top="10dp" />
</shape>

Как изогнуть начало второй кнопки к внутренней стороне, чтобы не было зазора между первой и второй кнопкой?

А как насчет наложения двух кнопок для упрощения?

Bruno 10.09.2018 11:35

@Bruno Как перекрытие решит проблему? Как перекрываться в constraintlayout?

Pritish 10.09.2018 11:49

если ваша кнопка «Применить» была на 10 дп (или что-то вроде этого) правее, у вас будет иллюзия, что вторая кнопка изогнута

Bruno 10.09.2018 11:55

Я применяю горизонтальную цепочку ConstraintLayout, поэтому это невозможно сделать

Pritish 10.09.2018 12:00
1
4
83
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

вам нужно будет сделать основной контейнер RelativeLayout и дать RelativeLayout основной фон темно-синего цвета, который у вас есть, и внутри этого RelativeLayout вы помещаете текстовое представление слева

Вместо того, чтобы делать вторую кнопку кривой внутри, было бы хорошо, если бы вы применили кривую к первой кнопке только в начале (то есть с левой стороны), а затем применили кривую ко второй кнопке с правой стороны, как в примере кода ниже , теперь между ними не будет промежутка, и кнопка будет синхронизирована.

applynow.xml

<?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android">
        <gradient
            android:angle="90"
            android:endColor="#6ECAF9"
            android:startColor="#049CE8" />
        <corners
        android:topLeftRadius="5dp"
        android:bottomLeftRadius="5dp"
        />
        <padding
            android:bottom="10dp"
            android:left="10dp"
            android:right="10dp"
            android:top="10dp" />
    </shape>

checkstatus.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient
        android:angle="90"
        android:endColor="#1981C2"
        android:startColor="#006CAF" />
    <corners
        android:topRightRadius="5dp"
        android:bottomRightRadius="5dp"
        />
    <padding
        android:bottom="10dp"
        android:left="10dp"
        android:right="10dp"
        android:top="10dp" />
</shape>

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