Как нарисовать линию с одним изгибающимся концом - PullRequest
1 голос
/ 07 января 2020

ow

Как я могу нарисовать такую ​​горизонтальную линию (изгиб вверх от левого конца), как показано на изображении выше в файле XML с помощью селектора? ниже мой код файла селектора. Спасибо

<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android">
<stroke android:width="1dip" android:color="@color/md_black_1000" />
<solid

    android:color="#ffffff"
    />
<corners
    android:topLeftRadius="15px"
    android:bottomLeftRadius="15px"
    />

<padding
    android:top="3dp"
    android:bottom="3dp"
    />
</shape>

1 Ответ

1 голос
/ 07 января 2020

Я полагаю, что вы можете достичь этого эффекта только в определенных c случаях, например, когда у вас фиксированная высота элемента:

<?xml version="1.0" encoding="utf-8"?>
<inset xmlns:android="http://schemas.android.com/apk/res/android"
    android:insetTop="-2dp"
    android:insetRight="-2dp">
    <shape>
        <corners android:bottomLeftRadius="80dp" />
        <stroke android:width="2dp" />
    </shape>
</inset>

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:text="Item"
        android:gravity="center_vertical"
        android:paddingLeft="16dp"
        android:paddingRight="16dp"
        android:background="@drawable/selector"/>

</FrameLayout>

А затем:

enter image description here

...