如何使用XML(如Sticker View Corner)绘制带有圆角圆角的矩形

时间:2018-09-07 11:02:49

标签: android xml

如何为StickerView的矩形边缘创建圆形。 我不想使用StickerView,因为它不支持类似EditText的功能。

我的xml矩形代码。我想添加带有大圆点的角落。

  <?xml version="1.0" encoding="utf-8"?>
    <!--  res/drawable/rounded_edittext.xml -->
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle" android:padding="10dp">

        <corners

            android:bottomRightRadius="15dp"
            android:bottomLeftRadius="15dp"
            android:topLeftRadius="15dp"
            android:topRightRadius="15dp"/>

    </shape>

下面是mainactivity.xml代码,在其中我实现了RotatableAutofitEditText的边框。

 <com.agilie.RotatableAutofitEditText xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:autofit="http://schemas.android.com/apk/res-auto"
            android:id="@+id/editText"
            android:layout_width="wrap_content"


            android:layout_height="wrap_content"
            android:layout_marginStart="128dp"


            android:layout_marginTop="272dp"
            android:background="@drawable/borders"
            android:gravity="center"
            android:hint="@string/hint_add_some_text"
            android:text="Type Here"

            android:textColor="@android:color/white"

            android:textColorHint="@android:color/darker_gray"
            autofit:clipBounds="false"
            autofit:layout_constraintStart_toStartOf="parent"
            autofit:layout_constraintTop_toTopOf="parent"
            autofit:maxTextSize="@dimen/autoresize_max_text_size"
            autofit:minTextSize="@dimen/autoresize_min_text_size"
            autofit:minWidth="@dimen/autoresize_min_width"
            autofit:movable="true"
            autofit:resizable="true"
            autofit:rotatable="true" />

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

您可以使用颜色自定义此模板。

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:bottom="8dp"
    android:end="8dp"
    android:start="8dp"
    android:top="8dp">
    <shape android:shape="rectangle">
        <solid android:color="@color/colorPrimary" />
    </shape>
</item>

<item android:gravity="start|top">
    <shape android:shape="oval">
        <size
            android:width="16dp"
            android:height="16dp" />
        <solid android:color="@android:color/black" />
    </shape>
</item>

<item android:gravity="end|top">
    <shape android:shape="oval">
        <size
            android:width="16dp"
            android:height="16dp" />
        <solid android:color="@android:color/black" />
    </shape>
</item>

<item android:gravity="start|bottom">
    <shape android:shape="oval">
        <size
            android:width="16dp"
            android:height="16dp" />
        <solid android:color="@android:color/black" />
    </shape>
</item>

<item android:gravity="end|bottom">
    <shape android:shape="oval">
        <size
            android:width="16dp"
            android:height="16dp" />
        <solid android:color="@android:color/black" />
    </shape>
</item>
</layer-list>