Android 如何将圆角遮罩创建为可绘制遮罩?

Android 如何将圆角遮罩创建为可绘制遮罩?,android,android-drawable,Android,Android Drawable,需要绕过android中几个小部件的角落,但将背景更改为可绘制并不是解决方案 因此,我想创建一个可绘制的,我可以把它放在任何ui元素的顶部。看看这张图片;我需要黑色的部分是透明的,白色的部分是固体 我只知道如何创建圆角矩形的负片形状: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape=

需要绕过android中几个小部件的角落,但将背景更改为可绘制并不是解决方案

因此,我想创建一个可绘制的,我可以把它放在任何ui元素的顶部。看看这张图片;我需要黑色的部分是透明的,白色的部分是固体

我只知道如何创建圆角矩形的负片形状:

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


    <solid
        android:color="@color/colorForegroundTable"
        />

   <corners android:radius="10dp" />

    <padding
        android:left="20dp"
        android:top="10dp"
        android:right="20dp"
        android:bottom="10dp"    >
    </padding>

</shape>

有什么想法吗?

您可以使用图层列表来遮罩形状

<layer-list>

<item>
    <shape android:shape="rectangle">
       <solid android:color="@android:color/white"/>
    </shape>
</item>

<item>
  <shape android:shape="rectangle">
      <solid android:color="@android:color/black"/>
      <corners android:radius="50dp"/>
  </shape>
</item>
</layer-list>

您只需制作一张带有角的9面片图像,然后使用可绘制图像。

谢谢,但我需要黑色部分透明。我该怎么做?