如何为矩形形状制作内半径?

时间:2016-10-13 13:45:38

标签: android

第一张图片是以下代码的结果。一个半径与预期一样的矩形,但我需要一个矩形,右上角有一个内半径,就像第二个图像一样。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item >
        <shape android:shape="rectangle" >
            <corners  android:topRightRadius="50dp"
                android:bottomRightRadius="0dp"
                android:bottomLeftRadius="15dp"
                android:topLeftRadius="15dp"  />
            <solid android:color="@color/turuncu"></solid>
        </shape>
    </item>
</selector>

enter image description here enter image description here

1 个答案:

答案 0 :(得分:0)

通过使用图层列表,我们可以获得矩形的内半径。下面的代码将给出第二个图标形状。

<?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/home_yellow"></solid>
            <corners android:radius="@dimen/margin20"></corners>
            <size android:width="100dp"
                android:height="100dp" />
        </shape>
    </item>
    <item android:gravity="top|right">
        <shape android:shape="rectangle">
            <corners android:bottomLeftRadius="@dimen/margin45"
                android:bottomRightRadius="@dimen/margin1"
                ></corners>
            <solid android:color="#fff"></solid>
            <size android:width="35dp"
                android:height="30dp" />
        </shape>
    </item>


</layer-list>