如何创建一个可绘制的圆角蒙版?

时间:2018-10-27 17:19:20

标签: android android-drawable

需要绕过android中几个小部件的角,但是将背景更改为可绘制对象在这里不是解决方案。

因此,我想创建一个可绘制的图形,可以将其放置在任何ui元素之上。看一下这张图片;我需要黑色部分要透明,白色部分要实心。

Image

我只知道如何创建负值(带有圆角的矩形)形状:

<?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>

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

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

<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>

答案 1 :(得分:-1)

您可以制作一个带有角的9色块图像并使用可绘制对象。