Android 如何使这种类型的图形在xml中可绘制

Android 如何使这种类型的图形在xml中可绘制,android,compound-drawables,Android,Compound Drawables,我想在屏幕的中心做一个透明的圆圈,在屏幕的其余部分做一个不透明的圆圈。这可以用drawable吗?或者可以通过编程实现 我在地图的顶部添加了一个图像。这张地图很好用。但问题是我想支持多分辨率,所以我不想使用不同的图像。 编辑: 1贴图图像是我的预期输出。 2Mapfilter图像是我想使用drawable或编程方式创建的图像。 3使用下面的方法时,我得到的是输出图像 我用这种方法画了第二幅图 我使用setImageBitmap方法将输出位图设置为我的图像视图 但现在的问题是,它在图像的左右两

我想在屏幕的中心做一个透明的圆圈,在屏幕的其余部分做一个不透明的圆圈。这可以用drawable吗?或者可以通过编程实现

我在地图的顶部添加了一个图像。这张地图很好用。但问题是我想支持多分辨率,所以我不想使用不同的图像。

编辑:

1贴图图像是我的预期输出。 2Mapfilter图像是我想使用drawable或编程方式创建的图像。 3使用下面的方法时,我得到的是输出图像

我用这种方法画了第二幅图

我使用setImageBitmap方法将输出位图设置为我的图像视图


但现在的问题是,它在图像的左右两侧留下了一些空间请参见Output.png图像。如何删除它?

您可以使用GroundOverlay.GroundOverlay将透明圆形图像设置到地图的中心。

在绘制矩形之前,在屏幕上剪裁一条圆形路径canvas@suitianshi剪辑一个圆形路径会给我一个填充了圆形的位图,屏幕的其余部分是透明的,但我希望它是对的。将`Region.Op`参数添加到你的function@Sanjay在xml drawable中不能这样做,但是,您可以通过编写自定义形状并将其传递给ShapeDrawable@suitianshi我剪掉了圆圈,但我得到了一些空白。我不想设置图像。如果可能的话,我想创建一个可绘制的形状。我使用了相对布局并在地图顶部设置了图像。@Sanjay imho在xml drawable中无法做到这一点,但可以通过编写自定义形状并将其传递给ShapeDrawable轻松做到这一点